NSUserDefaults值未保存到iPhone [英] NSUserDefaults values are not getting saved iPhone

查看:48
本文介绍了NSUserDefaults值未保存到iPhone的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用以下代码保存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.com","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.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

why 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆