首页 文章

奇怪的行为从plist文件读取字典

提问于
浏览
1

当我读取一个字典的plist是 not empty 并且至少有一个键值对进入我的模型类的NSMutableDictionary属性时,一切正常 . 我可以添加,删除修改可变字典 .

但是当字典 is empty

你可以看到带有这样标记的plist:

<dict/>

然后,即使我的属性有一个NSMutableDictionary指针,创建的对象也变为不可变 .

当我尝试为特定属性设置一个对象时,它给了我这个错误说:

'NSInternalInconsistencyException', reason: '-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object'

2 回答

  • 1

    很确定从plist中检索的所有对象都是不可变的变体 . 我确实认为我看到了将它们反序列化为可变的选项 .

    编辑:

    本文解释了如何将plist解压缩为可变:

    http://cocoadev.com/wiki/PropertyList

  • 2
    NSMutableDictionary *mutable = [yourApparentlyMutableDictionary mutableCopy];
    

相关问题