1. 程式人生 > >Swift 使用 plist 的注意事項

Swift 使用 plist 的注意事項

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 {

}