2011-12-08 162 views
1

我有一个NSMutableArray。它可以是空的或有一些propertyList对象(在我的情况下只是NSNumber对象)。 我想将它以xml格式保存到磁盘,所以我正在使用。将空NSArray保存到磁盘

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

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

如果数组为空(空初始化的NSMutableArray)的瞬间该方法被称为方法返回否,并且操作不这样做,那么旧的数据不会被覆盖。

如何写一个空的数组到磁盘?

回答

4

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

你观察到的行为,该消息返回NO,是self.myArray返回nil,这意味着它既不是空的,也不是非空的,因为你没有一个阵列全天保持一致。没有数组时,没有消息发送,因此消息返回(在这种情况下)NO

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

+0

你是对的,我搞砸了代码重新实现,并没有初始化属性,但因为我从来没有将数组保存到磁盘之前我只是认为我做了错误的事情。 –