gpt4 book ai didi

iphone - NSUserDefaults 在设置之前返回

转载 作者:行者123 更新时间:2023-12-01 18:27:02 25 4
gpt4 key购买 nike

我正在制作一个需要两个字符串和一个 int 的应用程序。我希望这些显示在另一个 View 上。

我已将它们放入一个数组中,并尝试将它们存储在 NSUserDefaults 中。我已经设法存储了这些数据。我遇到的问题是,当我更改数据并再次保存时,获取数组的函数在设置它的函数之前被调用。所以应用程序总是显示以前的数据。

我认为通过更改调用函数的时间很容易解决。

但从代码来看,我认为它们的顺序是正确的。

2012-09-26 13:55:02.764 BeerDivider[4377:907] array returnd = (
2,
"Person 1",
"Person 2"
)
2012-09-26 13:55:02.773 BeerDivider[4377:907] array saved = (
5,
"Person 1",
"Person 2"
)

我可以从记录数组中看到它们以错误的顺序被调用。

请任何人都可以看到我哪里出错了。这是我的第一篇objective-c/xcode 帖子,所以不确定你想看什么代码。我会把它全部放进去。

http://pastebin.com/BX5gqp17

对不起,如果这是很多代码。

谢谢您的帮助。

编辑:更新代码

EDIT2:我认为正在发生的事情类似于 iOS do the button's action before prepareSegue

最佳答案

首先查看 NSUserDefault 的 Apple 文档
NSUserDefault 总是返回你保存在其中的数据

别忘了写 [defaults synchronize];

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:yourArray forKey:@"YourKey"]
[defaults synchronize];

根据您给定的代码。
-(void)saveInfo:(NSArray *)myArray
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:myArray forKey:@"array"];
[defaults synchronize];
NSLog (@"array saved = %@", [defaults objectForKey:@"array"]);
}

现在检查结果

关于iphone - NSUserDefaults 在设置之前返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12602580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com