我用来写文件的几种方法会返回一个表示成功的BOOL,例如
的NSDictionary:
- (BOOL) writeToFile:(NSString *)path atomically:(BOOL)flag
的NSKeyedArchiver:
- (BOOL) archiveRootObject:(id)rootObject toFile:(NSString *)path
不知怎的,这在我的一个测试仪器上返回NO。这很好(嗯,不是真的),但无论如何都要找出为什么这些操作可能会失败?
答案 0 :(得分:3)
现代方法是从(根对象|字典)创建NSData,然后使用writeToFile:options:error:
或writeToURL:options:error:
将该数据写入所需的路径。这些方法通过引用返回NSError对象,其中包含对所发生事件的描述,包括(至少在某些情况下)用户可呈现的错误消息。
要创建表示字典的数据,请使用NSPropertyListSerialization
(如果字典及其所有内容,一直是有效的property list)或存档(如果没有)。