gpt4 book ai didi

ios - 编码 NSMutableArrays 给 NSCoding 错误

转载 作者:行者123 更新时间:2023-11-28 18:34:52 27 4
gpt4 key购买 nike

当我尝试使用 NSMutableArray 对我的自定义对象进行编码时,我总是得到这个异常:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'cannot encode (void *) value: <2063e916>'

什么会导致这种情况? mutablearray 被初始化,并且在它中断的那一点上它有数据。我很确定我在“encodeWithCoder”方法中做错了什么,因为如果我将它留空,它运行良好。

这就是我尝试将可变数组转换为数组的方式,但这没有帮助:

- (void) encodeWithCoder:(NSCoder *)encoder {
[encoder encodeObject:[[NSArray alloc] initWithArray:_myMutableArray] forKey:kMutableArrayKey];
}

最佳答案

首先,不需要将 NSMutableArray 转换为 NSArray

[encoder encodeObject:_myMutableArray forKey:kMutableArrayKey];

真正的问题不在您显示的代码中,很可能数组中的值之一不支持 NSCoding。请注意,您要编码的所有内容都必须实现 NSCoding 协议(protocol)。

关于ios - 编码 NSMutableArrays 给 NSCoding 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20975005/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com