【发布时间】:2014-09-19 02:01:55
【问题描述】:
这听起来可能很菜鸟!我想检查用户是否第二次进入我的应用程序,所以为了保持运行计数,我使用了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];
一切正常,但问题是当我根据here 和here 卸载(删除并重新安装)应用程序时,数据应该被清除,但在重新安装应用程序后不是之前的数据还在显示。 我正在使用 xCode6-beta 在 iOS 模拟器上运行我的应用程序,并针对 iOS 8 上的应用程序
【问题讨论】:
-
你试过在真机上测试吗?
-
你需要在模拟器上手动清除。 Here is how.
-
请标记正确的答案,这样这个问题就不再没有答案了
-
@Reza:[[NSUserDefaults standardUserDefaults]setObject:selectedLists forKey:UserID]。尽管在 ios6 和 ios7 中运行良好,但我的应用程序在 ios8 中崩溃了。 NSMutable Array 中的 selectedlists 和 UserId 是一个字符串。
-
@Manthan 这是一个不同的问题,但我在其他地方也遇到过同样的问题,导致崩溃的原因是虽然我为某个键保存的对象是
NSMutableArray它是保存为NSArray并更改它会使我的应用程序崩溃...我建议保存NSArray,当您以后想使用它时,使用[NSMutableArray arrayWithArray:array];将其转换为NSMutableArray。我希望这会有所帮助。
标签: ios ios-simulator nsuserdefaults ios8 xcode6