一,在Cocoa中,有一類名為屬性列表的對象,常簡寫為plist.這些列表包含Cocoa知道如何操作的一組對象。具體來講,Cocoa如何知道將這們保存在文件中并進行加載。屬性列表類包括NSArray,NSDictionary,NSString,NSNumber,NSDate和NSData,以及它們的變體(如果它們存在變體)。
二,集合屬性列表類(NSArray,NSDictionary)具有一個-writeToFile:atomically:方法,用于將屬性列表寫入文件。NSString和NSData也具有-writeToFile:atomically:方法,但字只能寫出字符串或數據塊。
三,-writeToFile:atomically:中的atomically.
atomically的值為BOOL類型,用于通知Cocoa是否應該首先將文件內容保存在臨時文件中,當文件成功保存后,再將該臨時文件和原始文件交換,這是一種安全機制:如果在保存過程中出現意外,不會破壞原始文件。但是這種安全機制需要付出一定的代價:在保存過程中,由于原始文件仍然保存在磁盤中,所以需要使用雙倍的磁盤空間。除非保存的文件非常大,將會占用用戶磁盤的空間,否則應該自動保存文件。
代碼:
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSArray *phrase=[NSArray arrayWithObjects:@"I",@"seem",@"to",@"be",@"a",@"verb",nil]; [phrase writeToFile:@"/Users/chenlihua/Desktop/plist.txt" atomically:YES]; NSArray *phrase2=[NSArray arrayWithContentsOfFile:@"/Users/chenlihua/Desktop/plist.rtf"]; NSLog(@"%@",phrase2);}
輸出:
2015-08-09 11:35:12.787 屬性列表[849:18853] ( I, seem, to, be, a, verb)
參考資料:《Objective-C基礎教程》
新聞熱點
疑難解答