これは本当のNOOBに聞こえるかもしれません!ユーザーがアプリケーションに2回目かどうかを確認したいので、使用している実行カウントを維持しますNSUserDefaults
。rootViewController
のviewDidLoad
メソッドに次のコードを実装しました。
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSLog(@"hello %ld", (long)[userDefaults integerForKey:@"runCount"]);
if ([userDefaults integerForKey:@"runCount"] != 1) {
//not the 2nd run
[userDefaults setInteger:1 forKey:@"runCount"];
NSLog(@"not 2nd run");
} else {
//second run or more
NSLog(@"2nd run");
}
[userDefaults synchronize];
すべてが正常に動作しますが、問題は、こことここに従ってアプリケーションをアンインストール(削除して再インストール)するとデータがクリアされるはずですが、アプリが再インストールされても以前のデータがまだ表示されているということです。xCode6-betaを使用してiOSシミュレーターでアプリを実行し、iOS 8上のアプリケーションをターゲットにしています
NSMutableArray
、として保存され、NSArray
変更するとアプリがクラッシュしました。 ..を保存し、NSArray
後で使用したい場合は、をにキャストすることをお勧めNSMutableArray
し[NSMutableArray arrayWithArray:array];
ます。お役に立てば幸いです。