使用以下代码保存sessionID.
NSUserDefaults * sessions = [NSUserDefaults standardUserDefaults];[sessions setObject:sID forKey:@"sessionsID"];[会话同步];NSLog(@会话值已保存");检索值的代码为:
NSUserDefaults * sessions = [NSUserDefaults standardUserDefaults];NSString * myString = [会话stringForKey:@"sessionsID"];NSLog(@"nsuser:%@",myString);但是在控制台上它显示为:
2012-01-03 15:37:37.292 LoginTest [574:12503] sID:c339af83caa5355d124f70e3f22c193d2012-01-03 15:37:37.296 LoginTest [574:12503]会话值已保存2012-01-03 15:37:37.297 LoginTest [574:12503]帐户:("uid=demo@url","o = Demo","o = Und")2012-01-03 15:37:37.302 LoginTest [574:12503] sID :(空)2012-01-03 15:37:37.304 LoginTest [574:12503]会话值已保存2012-01-03 15:37:37.304 LoginTest [574:12503]帐户:(空)2012-01-03 15:37:37.305 LoginTest [574:12503]未创建任何会话为什么要两次调用它,一次将其保存并显示出来,第二次给出空值.
我正在使用ARC.
我对此感到困惑...请指导我如何解决此问题
解决方案我们不知道为什么它被调用了两次;这是您的应用程序:)
在 [sessions setObject:sID forKey:@"sessionsID"];上放置一个断点;
第一次被击中 sID 将是有效的.
然后发生了使 sID :(
第二次被击中,它看起来像 sID 为 null -您应该能够使用控制台/堆栈来弄清楚为什么它被两次调用./p>
Using the below code to save the sessionID.
NSUserDefaults *sessions = [NSUserDefaults standardUserDefaults]; [sessions setObject:sID forKey:@"sessionsID"]; [sessions synchronize]; NSLog(@"Session Value Saved");The code to retrieve the value is:
NSUserDefaults *sessions = [NSUserDefaults standardUserDefaults]; NSString *myString = [sessions stringForKey:@"sessionsID"]; NSLog(@"nsuser: %@", myString);But on console it is showing like:
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", "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 createdwhy is it being called two times and once it saves the values and shows them up and second time giving null.
I am using ARC.
I am messed-up with this... please guide me how can I resolve this issue
解决方案We dont know why it's getting called twice; it's your app :)
Put a breakpoint on [sessions setObject:sID forKey:@"sessionsID"];
The first time this gets hit sID will be valid.
Then something is happening that is invalidating sID :(
The second time it gets hit it looks like sID is null - you should be able to use the console / stack to work out why it's being called twice.
更多推荐
NSUserDefaults值未保存到iPhone
发布评论