在从设备上完全卸载应用程序,然后将其加载到调试器中之后,我尝试在安装方法中使用boolForKey加载一个标志。应用程序第一次运行时,我期望bool不会存在,因为我刚刚重新安装了应用程序。我希望从文件,boolforky将因此返回NO。
不过,我看到了相反的情况。boolForKey正在返回YES,这将禁用我的初始用户设置。你知道为什么会这样吗?或者是个好办法?
BOOL stopAutoLogin = [[NSUserDefaults standardUserDefaults] boolForKey:@"StopAutoLogin"];
_userWantsAutoLogin = !stopAutoLogin;
所以stopAutoLogin的回答是“是”,这完全出乎意料。
陌生人和陌生人:当我调用objectForKey:@“StopAutoLogin”时,我得到了一个nil对象,正如预期的那样。只是boolForKey返回了一个错误的值。所以我把代码改成:
// this is nil
NSObject *wrapper = [[NSUserDefaults standardUserDefaults] objectForKey:@"StopAutoLogin"];
// this is YES
BOOL stopAutoLogin = [[NSUserDefaults standardUserDefaults] boolForKey:@"StopAutoLogin"];