Swift 使用 plist 的注意事項
阿新 • • 發佈:2018-11-08
plist檔案的使用
- 可以自己建立.plist檔案進行資料的讀寫
- .plist檔案實際上是,一個XML格式的檔案
- 支援的資料型別有:NSDictionary、NSArray、Boolean、NSData、NSNumber、NSString, 不支援 NSMutableArray 等可變型別. Swift 暫時不支援Array、Dictionary等型別,但支援String。建議都使用帶NS的型別。
NSArray 和 NSMutableArray 相互轉換:
// NSArray --> NSMutableArray
NSMutableArray *myMutableArray = [myArray mutableCopy];
// NSMutableArray --> NSArray
NSArray *myArray = [myMutableArray copy];
- 資料中有 null,無法儲存
writeToFile寫入不成功的原因
[cacheDic writeToFile:cacheURL atomically:YES];
後卻返回no,查閱手冊發現:
If an array or dictionary contains objects that are not property-list objects, then you cannot save and restore the hierarchy of data using the various property-list methods and functions.
也就說要存的不能為你自定義的物件,也不能是null,我就是伺服器返回的資料字典中有null,結果存了半天不行,可是自己寫了個字典就能儲存,後來才找到原因,發現伺服器返回的資料中竟然有個null,坑人啊
Swift 判斷是否為NULL:
if data is NSNull {
}