NSUserDefaults值未保存到iPhone

编程入门 行业动态 更新时间:2024-10-28 13:24:46
本文介绍了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","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 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

本文发布于:2023-07-16 14:42:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1122718.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:NSUserDefaults   iPhone

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!