将空NSArray保存到磁盘

时间:2011-12-08 17:15:47

标签: cocoa nsarray

我有一个NSMutableArray。它可以是空的或有许多propertyList对象(在我的例子中只是NSNumber对象)。 我想以xml格式将其保存到磁盘,所以我正在使用。

// In the interface    
@property (nonatomic, retain) NSMutableArray *myArray;

// In the implementation
if ([self.myArray writeToFile:pathToFile atomically:YES])
{
    // Success
} else {
    // Failure
}

如果在调用方法时数组为空(空初始化的NSMutableArray),则方法返回NO并且操作未完成,因此不会覆盖旧数据。

如何将空数组写入磁盘?

1 个答案:

答案 0 :(得分:4)

您确定self.myArray实际上是“空初始化 NSMutableArray”吗?对我来说,告诉一个空数组将自己写入文件可以正常工作。

您正在观察的行为,即消息返回NO,与self.myArray返回nil一致,这意味着它既不是空的也不是非空的,因为你不是t有一个阵列。没有数组,没有任何内容可以发送消息,因此消息返回(在这种情况下)NO

确保self.myArray实际上是在您尝试向其发送消息的位置返回一个数组(空或其他)。您用来验证的日志记录代码和输出对于您添加到问题中是一件好事。