加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – 编码NSMutableArray

发布时间:2020-12-14 18:08:20 所属栏目:百科 来源:网络整理
导读:我有一个包含各种NSString对象和变量的对象,我将这些对象和NSCoding归档到磁盘上的文件中,然后取消归档.到目前为止,一切都运作良好. 今天,我想在对象中添加一个NSMutableArray并尝试使用以下代码进行编码: [encoder encodeObject:myArray ForKey:@"myArray"
我有一个包含各种NSString对象和变量的对象,我将这些对象和NSCoding归档到磁盘上的文件中,然后取消归档.到目前为止,一切都运作良好.

今天,我想在对象中添加一个NSMutableArray并尝试使用以下代码进行编码:

[encoder encodeObject:myArray ForKey:@"myArray"];

然后使用以下方法解码它:

[self setMyArray:[decoder decodeObjectForKey:@"myArray"]];

它似乎没有工作,虽然我没有在编码或解码本身中得到任何错误,但如果我尝试在从文件解码后修改数组的值,我会收到错误.

我确定我在这里做了一些完全错误的事情,但并不完全确定是什么.我想也许它可能与它没有在unarchive期间正确分配有关.

什么看起来明显是问题的根源?

解决方法

It doesn’t appear to be working,and while I don’t get any errors in
the encoding or decoding itself,I do get an error if I try to modify
the value of the array after decoding from the file.

解码存档会为您提供不可变对象,无论它们在编码时是可变还是不可变.你没有做任何特别错误的事 – 它正如宣传的那样工作.

有关类似问题的另一个示例,请参阅this answer,以及解决方案:

[self setMyArray:[[decoder decodeObjectForKey:@"myArray"] mutableCopy];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读