if (![[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"]) {
AppGuidViewController *appGuid = [[AppGuidViewController alloc] initWithImageArray:@[@"guies01",@"guies02",@"guies03"] startBtnDistanceWithBottomArray:@[@70,@100,@110,@120] needLoadVC:self.viewController];
self.window.rootViewController = appGuid;
[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:@"isFirst"];
}else{
self.window.rootViewController = self.viewController;
}
return YES;
}
- 判斷應用是否是第一次登陸
- [[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"])
- 這是在userdefault里放了一對key`value(鍵值對)。因為userdefault是個永生的的字典,只要不remove它就永遠存在。
if (![[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"])
- 這是在userdefault中取isfirst的value,如果沒取到則返回nil,nil取非(!)代表是YES,那么也就是說是第一次啟動。之后在if中放入valueForKey:@"isFirst"則程序下次啟動時取isfirst的value,然后再取非(!)就是NO,則會走else的方法
我們做項目的時候有個典故
- userdefault中的value可以為字典但是這個字典不能含有null的value否則程序會崩潰。
判斷用戶是否登錄也會用到,此時還需要添加注銷(remove)
-(void)click{
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"isLogin"];
[self.navigationController popViewControllerAnimated:YES];
}
可以用來存放用戶名,密碼,和是否登錄和第一次啟動程序等。
注意的是:在NSUserDefaut中,不能保存自定義對象,只可保存如NSArray,NSDictionary,NSInteger,NSString等數據
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。