集合属性列表类具有一个-writeToFile:atomically:方法,用于将属性列表写入文件。NSString和NSData也具有writeToFile:atomically:方法,但它只能写出字符串或数据块。
因此,我们可以将字符串存入一个数组,然后保存该数组:
NSArray *phrse;
phrase=[NSArray arrayWithObjects:@"I",@"seem",@"to",@"be",@"a",@"verb",nil];
[phrase writeToFile:@"/tmp/verbiage.txt" atomically:YES];
注意到writeToFile:方法中的单词atomically了吗?这种调用有什么负面作用吗?没有。atomically:参数的值为BOOL类型,用于通知Cocoa是否应该首先将文件内容保存在临时文件中,当文件成功保存后,再将临时文件和原始文件交换。这是一种安全机制:如果在保存过程中出现意外,不会破坏原始文件。但是这种安全机制需要付出一定代价:在保存过程中,由于原始文件仍然保存在磁盘中,所以需要使用双倍的磁盘空间。除非保存的文件非常大,将会占用用户的空间,否则应该自动保存文件。
时间: 2024-10-25 22:08:03