ios - 在 NSUserDefaults 中保存值时出现问题

标签 ios cocoa-touch nsuserdefaults

我将其作为我的 viewDidLoad:

- (void)viewDidLoad
{
    [super viewDidLoad];
    if (defaults == [cells objectAtIndex:0])
    {
        NSString * myFile = [[NSBundle mainBundle]pathForResource:@"cells" ofType:@"plist"];
        cells = [[NSMutableArray alloc]initWithContentsOfFile:myFile];
    }
    else
    {
        [defaults stringForKey:@"string1"];
    }
}

对于我的 viewWillDisappear 我有:

-(void)viewWillDisappear:(BOOL)animated
{
    string1 = [cells objectAtIndex:0];
    [defaults setObject:string1 forKey:@"string1"];
}

但是我无法获取要保存的数据。有谁知道我做错了什么?

最佳答案

defaults 应该是 NSUserDefaults 的实例:

defaults = [NSUserDefaults sharedUserDefaults];

因此,if (defaults == [cells objectAtIndex:0]) 不是有效的代码行,除非您摆弄 RAM,否则它永远不会相等。

否则,代码看起来没问题。

关于ios - 在 NSUserDefaults 中保存值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6767600/

相关文章:

ios - 如何更改 Kal 日历中的单元格高度

ios - 从字典创建 SKTextureAtlas

ios - 如何使用 MapBox 在街道名称下画一条线

iphone - 目标 iPhone 模拟器宏不工作

iphone - 边缘内填充颜色

ios - 在 iOS 模拟器上使用 App 打开文件?

objective-c - SQLite3 (iOS) 查询未执行

ios - 我是否误解了NSUserDefaults initWithUser?

ios - 重新启动应用程序 swift 4 时,UserDefaults 有时不保留保存的值

ios - 快速多个 userDefaults 对象