iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了xcode – 编码NSMutableArray大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有一个包含各种NSString对象和变量的对象,我将这些对象和NSCoding归档到磁盘上的文件中,然后取消归档.到目前为止,一切都运作良好. 今天,我想在对象中添加一个NSMutableArray并尝试使用以下代码进行编码: [encoder encodeObject:myArray ForKey:@"myArray"]; 然后使用以下方法解码它: [self setMyArray:[deco
我有一个包含各种NSString对象和变量的对象,我将这些对象和NSCoding归档到磁盘上的文件中,然后取消归档.到目前为止,一切都运作良好.

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

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

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

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

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

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

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

解决方法

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

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

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

大佬总结

以上是大佬教程为你收集整理的xcode – 编码NSMutableArray全部内容,希望文章能够帮你解决xcode – 编码NSMutableArray所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。