如何测试未初始化的可变数组

How to test for an uninitialized mutable array

提问人:Carl Carlson 提问时间:7/16/2022 更新时间:8/12/2022 访问量:33

问:

我损坏了文件中的单个对象。当我加载文件时,我的一个可变数组 (1) 包含另一个未初始化的可变数组 (2)(从同一文件加载)。当我尝试使用 for-in 循环检查数组 (2) 时,我得到: -[NSMutableArray count]:发送到未初始化的可变数组对象的方法”

我可以删除数组 (2),但是如何测试它?

数组 Objective-C 初始化 nsmutableArray

评论

0赞 Willeke 7/16/2022
如何加载文件?
0赞 Carl Carlson 7/17/2022
使用 NSDocument.readFromData 和 NSKeyedUnarchiver.unarchiveObjectWithData,我检索一个属性类型为 NSMutableArray 的对象(类型为 A)。该数组包含 A 类型的对象的嵌套链 问题对象是该数组中子对象的子对象。我认为在我存档数据之前,问题对象已损坏。

答:

0赞 Carl Carlson 8/12/2022 #1

我使用了这样的东西:

NSString* name = [item.children className];
if ([name isEqualToString:   @"__NSPlaceholderArray" ])
{
    item.children = [[NSMutableArray alloc]init];
}
else...