NSUserDefaults值没有得到保存的iPhone
使用下面的代码来保存sessionID。
NSUserDefaults *sessions = [NSUserDefaults standardUserDefaults]; [sessions setObject:sID forKey:@"sessionsID"]; [sessions synchronize]; NSLog(@"Session Value Saved");
检索值的代码是:
NSUserDefaults *sessions = [NSUserDefaults standardUserDefaults]; NSString *myString = [sessions stringForKey:@"sessionsID"]; NSLog(@"nsuser: %@", myString);
但在控制台上显示如下:
2012-01-03 15:37:37.292 LoginTest[574:12503] sID: c339af83caa5355d124f70e3f22c193d 2012-01-03 15:37:37.296 LoginTest[574:12503] Session Value Saved 2012-01-03 15:37:37.297 LoginTest[574:12503] Accounts: ("uid=demo@url.com", "o=Demo","o=Und") 2012-01-03 15:37:37.302 LoginTest[574:12503] sID: (null) 2012-01-03 15:37:37.304 LoginTest[574:12503] Session Value Saved 2012-01-03 15:37:37.304 LoginTest[574:12503] Accounts: (null) 2012-01-03 15:37:37.305 LoginTest[574:12503] No Session created
为什么被称为两次,一旦它保存的价值,并显示出来,第二次给空。
我正在使用ARC。
我搞砸了…请指导我如何解决这个问题
我们不知道为什么它被调用两次; 这是你的应用程序:)
在[sessions setObject:sID forKey:@"sessionsID"];
上放置一个断点[sessions setObject:sID forKey:@"sessionsID"];
第一次得到这个命中sID
将是有效的。
然后发生了一些无效的sID
🙁
第二次遇到它看起来像sID
是null
– 你应该能够使用控制台/堆栈来解决为什么被调用两次。