iphone - key 的值为 nil。为什么?

标签 iphone objective-c ios nsuserdefaults key-value

早上好,我做了一个 IBAction 方法,它将一些对象保存到一个数组中:

-(IBAction)saveToFav:(id)sender
{
    NSUserDefaults *newDefaults = [NSUserDefaults standardUserDefaults];
    favorites = [[NSMutableArray alloc]initWithArray:[newDefaults mutableArrayValueForKey:@"favorites"] copyItems:YES];

    // check if array already contains an object

    if (![favorites containsObject:self.title])
    {
        [favorites addObject:self.title];
    }
    [newDefaults setObject:favorites forKey:@"favorites"];
}

但是,当我调用此方法时,应用程序因错误而崩溃:

[NSKeyValueSlowMutableArray getObjects:range:]: value for key favorites of object 0x8939030 is nil'

为什么会这样? 谢谢!

最大

最佳答案

您的数据(收藏夹)似乎尚未写入您的默认值。您可以通过运行以下命令强制保存您的默认值:

[[NSUserDefaults standardUserDefaults] synchronize];

关于iphone - key 的值为 nil。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10265616/

相关文章:

ios - Assets 目录启动图像未用于 4 英寸模拟器

IOS/objective-C : call of another class(VC) method not working

iphone - 所有文本字段的 resignFirstResponder

ios - UICollectionView 不渲染单元格 - 没有代码只有 Storyboard

ios - Coredata 链接关系

iphone - 为 iPad 和 iPhone 设计输入按钮

iphone - UITableview titleForHeaderInSection 显示不正确

iphone - 在 UITableView 上添加不可滚动的 UIView

iphone - 运行程序时保持 iphone 处于事件状态

iOS:瑞典格式的 NSNumberFormatter 将逗号替换为空格