Property List (plist)
CoreData
------------------------------------
iOS檔案位置管理:
專案附檔的都放在專案下
動態產生的都放在模擬器(實機)底下
好處:
1.專案附檔的plist有UI介面可以方便管理
2.由writeToFile:atomically寫出Property List
名詞解釋:
property list: 一種xml的資料格式
writeToFile: 寫檔動作,儲存plist到模擬器document資料夾的動作
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); : 模擬器/實機 的document資料夾位置
NSPropertyListSerialization: coverts Property List to/from NSData
iPhone 開發教學 - 使用 Property List 和 SQLite 處理資料儲存
(重要!教檔案位置,讀寫檔基本指令。)
Introduction to Property Lists (Apple Official)
相關指令 //codes are from 彼得潘app教學書
讀取專案裡附的檔案 (除圖片之外,如 txt 檔或影音檔)
讀取儲存動態產生的檔案(document底下位置)
非特權物件的寫檔
keyword:
encodeObject, decodeObjectForKey 是物件裡面的encode實作
[NSKeyedArchiver archiveRootObject: toFile:];
[NSKeyedUnArchiver unarchiveObjectWithFile:];
非特權物件的寫檔 (使用arhiver)
用NSMutableData *data來當作archiver,然後用writeToFile寫檔
用法:
// Writing
- (BOOL)writeToFile:(NSString *)aPath atomically:(BOOL)flag;
- (BOOL)writeToURL:(NSURL *)aURL atomically:(BOOL)flag;
// Reading
- (id)initWithContentsOfFile:(NSString *)aPath;
- (id)initWithContentsOfURL:(NSURL *)aURL;
- (BOOL)writeToFile:(NSString *)aPath atomically:(BOOL)flag;
- (BOOL)writeToURL:(NSURL *)aURL atomically:(BOOL)flag;
// Reading
- (id)initWithContentsOfFile:(NSString *)aPath;
- (id)initWithContentsOfURL:(NSURL *)aURL;
特權物件可以直接用WriteToFile寫檔(只有NSString, NSData, NSDictionary, NSArray可以),而非特權物件需要先archive才可以寫檔。
.
No comments:
Post a Comment