很多時候我們必須在使用者第一次打開 app 時做一些事情,例如使用的導覽或是資料的處理,這篇介紹的方法則是和網站記錄 cookie 的方式類似 (第一次進到某些網站會有介紹導覽,之後因為有 cookie 存在瀏覽器記錄就不會再顯示)
可以在專案 appdelegate.m 中找到 「application:didFinishLaunchingWithOptions:」 方法,把下面的程式碼添加到裡面 (加在程式的起始位置):
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"everLaunched"]) {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"everLaunched"];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"]; }
else{
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"firstLaunch"];
}
上面用 2 個 key:@”everLaunched” 和 @”firstLaunch” 來判斷使用者是否登錄過,在第一次啟動的時候 key @”everLaunched” 不會被賦值的,並且設置為 YES. @”firstLaunch” 被設置為 YES.
並在程式需要判斷的部分加入以下代碼:
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"]) {
// 這裡判斷是否第一次
UIAlertView * alert =[[UIAlertView alloc]
initWithTitle:@"第一次"
message:@"進入App"
delegate:self
cancelButtonTitle:@"我知道了"
otherButtonTitles:nil];
[alert show];
[alert release];
}
第一段代碼運行過後 key @”firstLaunch” 將被設置為 NO。