Gre*_*ner 4 xcode nscoding nsmutablearray
我有一个包含各种NSString对象和变量的对象,我将这些对象和NSCoding归档到磁盘上的文件中,然后取消归档.到目前为止,一切都运作良好.
今天,我想在对象中添加一个NSMutableArray并尝试使用以下代码进行编码:
[encoder encodeObject:myArray ForKey:@"myArray"];
Run Code Online (Sandbox Code Playgroud)
然后使用以下方法解码它:
[self setMyArray:[decoder decodeObjectForKey:@"myArray"]];
Run Code Online (Sandbox Code Playgroud)
它似乎没有工作,虽然我没有在编码或解码本身中得到任何错误,但如果我尝试在从文件解码后修改数组的值,我会收到错误.
我确定我在这里做了一些完全错误的事情,但并不完全确定是什么.我想也许它可能与它没有在unarchive期间正确分配有关.
什么看起来明显是问题的根源?
Cal*_*leb 10
它似乎没有工作,虽然我没有在编码或解码本身中得到任何错误,但如果我尝试在从文件解码后修改数组的值,我会收到错误.
对存档进行解码会为您提供不可变对象,无论它们在编码时是可变还是不可变.你没有做任何特别错误的事 - 它正如宣传的那样工作.
有关类似问题的另一个示例和解决方案,请参阅此答案:
[self setMyArray:[[decoder decodeObjectForKey:@"myArray"] mutableCopy];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4163 次 |
| 最近记录: |