Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 未保存NSUserDefault值_Iphone_Objective C_Ios - Fatal编程技术网

Iphone 未保存NSUserDefault值

Iphone 未保存NSUserDefault值,iphone,objective-c,ios,Iphone,Objective C,Ios,使用下面的代码保存sessionID NSUserDefaults *sessions = [NSUserDefaults standardUserDefaults]; [sessions setObject:sID forKey:@"sessionsID"]; [sessions synchronize]; NSLog(@"Session Value Saved"); 检索该值的代码为: NSUserDefaults *sessions = [NSUserDefaults stand

使用下面的代码保存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
为什么它被调用了两次,一次保存了值并显示出来,第二次为null

我正在使用ARC


我被这搞砸了。。。请指导我如何解决这个问题

我们不知道为什么它会被调用两次;这是你的应用:)

[sessions setObject:sID forKey:@“sessionsID”]上放置断点

第一次命中sID
sID
将有效

然后发生了使sID无效的事情:(


第二次命中时,它看起来像是
sID
null
-您应该能够使用控制台/堆栈来找出它被调用两次的原因。

您用于检索值的代码将有助于我们了解什么类型的对象是
sID
?这非常适合我…:|获取sID是NSSTRING,ou在哪里t输出NSLog(@“nsuser:%@”,myString);???我已经尝试过,您的代码在mecheck上运行良好,可以从调用函数的位置将sID存储在nsuser默认值中