NSData *data = [NSData data]; //獲取當前時間 NSLog ("Today is %@", data); NSArray *phrase; phrase = [NSArray arrayWithObjects: @「x」, @「y」, @「z」, @「end」]; [phrase writeToFile: @「/tmp/varbiage.txt」 atomically: YES]; // 這裏的YES是一種安全機制。寫入文件時先寫入到臨時文件,等結束後再將臨時文件與原始文件交換。這樣能夠保證在 // 出現意外的時候(斷電),不會破壞原始文件,但須要額外的空間。 //NSArray,NSDictionary 的writeToFile方法 // 能夠將屬性列表寫入文件,會存儲成xml格式文件 //NSString 和NSDate 的writeToFile方法 只能寫出字符串或者數據塊 NSArray *phrase2 = [NSArray arrayWithContentsOfFile: @「/tmp/verbiage.txt」]; NSLog(@「%@」, phrase2); //解析文件成一個數組 Cocoa具有一種機制來將對面自身轉換成某種格式並保存到磁盤中。 對象能夠將它們的實例變量和其餘數據編碼爲數據塊,而後保存到磁盤中。之後將這些數據塊讀回到內存中,而且還能基於保存的數據建立新對象。 這個過程成爲編碼和解碼,也叫序列化和反序列化。 @protocol NSCoding -(void) encodeWithCoder: (NSCoder *)aCoder; -(id) initWithCoder: (NSCoder *)aDecder; @end 採用該協議: 1.當須要保存自身時,調用-(void) encodeWithCoder: (NSCoder *)aCoder 2.當須要加載自身時,調用-(id) initWithCoder: (NSCoder *)aDecder //NSCoder 是一個抽象類,定義一些有用的方法來在對象與NSData之間來回轉換