轉至: ios
nsdate
nsobject
一天一次
整體思路:當進行操作的時候記錄操作時間存在偏好設定當中,當再次點選的時候獲取現在的時間然後和之前記錄的時間進行比較。如果是一天那麼就提示「今天已經操作過了」,如果不是一天,那麼可以正常操作,然後記錄操作時間。如此迴圈往復。。。
這裡的一天只能操作一次指的是:
(24點指的是凌晨12:00,也就是00:00)
1、某一天任意時間點到24點之間。
2、只要過了24點,立馬可以進行第二次操作。
3、假如你是23:59進行了一次操作,那麼過了一分鐘以後那就算第二天的了。所以可以進行第二次操作。
4、所以記住:不是在24小時之內。而是某一天之內。
主要方法:
nsdate *nowdate =[nsdate date];nsuserdefaults *datauser =[nsuserdefaults standarduserdefaults];
[datauser setobject:nowdate forkey:
@"nowdate"];
[datauser synchronize];
**示例:
-(void)doinviteparentswithpersons:(nsarray *)array groups:(nsarray *)grouparray userstype:(nsinteger)usertypeelse
}else
}];[sec exec];
}
那麼當第二次進行按鈕點選的時候,就會獲取現在的時間和之前記錄的時間進行對比,如果是同一天,那麼就不可以再次點選了。提示「每日僅能批量邀請一次」,按鈕的點選時間**如下:
-(void)inviteparent
else
}
主要**:
nsuserdefaults *userdefault =[nsuserdefaults standarduserdefaults];////
之前儲存的時間
//nslog(@"現在時間%@",[nsdate date]);
//現在的時間
nsdate *now =[nsdate date];
nsdate *agodate = [userdefault objectforkey:@"
nowdate"];
nsdateformatter *dateformatter =[[nsdateformatter alloc] init];
[dateformatter setdateformat:
@"yyyy-mm-dd"];
nsstring *agedatestring =[dateformatter stringfromdate:agodate];
nsstring *nowdatestring =[dateformatter stringfromdate:now];
//nslog(@"日期比較:之前:%@ 現在:%@",agedatestring,nowdatestring);
if( [agedatestring isequaltostring:nowdatestring])
else
Windows服務定點一天只執行一次
如windows自開發的服務 設定的時間範圍為10點,意思為在10 11點之間會執行 再設定迴圈5分鐘執行一次 比如說同步某些資料,或者生成某中間xml檔案,如果如上設定,就會在10 11點之間迴圈執行很多次,導致生成很多重複檔案.其實一般該類服務只需要一天執行一次即可.那怎麼控制呢,既能在10 1...
讓程式只啟動一次
讓程式只啟動一次 有時在開發程式的時候,有時需要只能同時執行乙個例項.mutex 類,稱為互拆體,是乙個同步基元,它只向乙個執行緒授予對共享資源的獨佔訪問權。當兩個或更多執行緒需要同時訪問乙個共享資源時,系統需要使用同步機制來確保一次只有乙個執行緒使用該資源。如果乙個執行緒獲取了互斥體,則要獲取該互...
Windows讓程式只執行一次
一 通過建立互斥量來判斷 winapi winmain hinstance,hinstance,lpstr,int if getlasterror error already exists catch exception exception return 0 二 用系統原子 winapi winma...