一个真正的初学者问题.我有一个NSView子类,我在其中创建一个包含NSValues的NSMutableArray.当我想使用writetofile将数组写入文件时:atomatically:文件已创建,但它不包含可变数组确实包含的NSValues.有谁知道我如何成功地将这个可变数组写入文件?
谢谢
NSValues不能保存在plist中(这就是writeToFile:atomically:does).看看这里可以保存的值.(NSNumber是一种可以保存的NSValue,但其他NSValues会失败.)
如果要使用NSValues保存数组,可以使用归档而不是writeToFile:atomically:.NSArray和NSValue都支持归档,因此您只需将阵列转换为归档并将该数据保存到文件中.(它也将包括NSValues.)代码看起来像这样:
[NSKeyedArchiver archiveRootObject:myArray toFile:@"myPath"];
要加载它,只需使用:
NSArray *myArray = [NSKeyedUnarchiver unarchiveObjectWithFile:@"myPath"];