iOS開發中,咱們時常會將一些簡單的數據進行持久化的存儲,方便咱們保存程序的一些配置和用戶的一些數據,plist文件就是咱們保存這些數據的最佳選擇。xcode
plist是一種文件格式,其內容規則是xml文件,後綴爲.plist,所以,咱們更習慣於成它問plist文件,在iOS開發中,這種文件經常使用來保存一些簡單的配置數據,例如項目中的info.plist。安全
經過plist文件編輯器,咱們能夠很方便的查看和編輯層次清晰的plist文件。編輯器
對於NSUserDefaults,具體用法和一些小技巧在之前的一篇博客中有詳細的描述,通常的用戶配置信息,咱們都會選擇經過這種方式來進行持久化,地址以下:http://my.oschina.net/u/2340880/blog/411344。工具
這種方式建立的plist文件很是自由且直觀,咱們能夠建立多個根據功能進行分類存儲,而且能夠經過Xcode的可視化工具進行可視化的修改。atom
首先,咱們新建立一個文件,在Resource中選擇 Property List文件:spa
以後,咱們經過Xcode,在其中添加一些數據:操作系統
經過代碼,咱們來獲取這些數據:.net
//獲取myInfo文件地址 NSString * path = [[NSBundle mainBundle]pathForResource:@"myInfo" ofType:@"plist"]; NSMutableDictionary * dic =[NSMutableDictionary dictionaryWithContentsOfFile:path]; NSLog(@"%@",dic);
打印結果以下:code
這種方式添加的plist文件,咱們只能在xcode中配置好,而後再程序中讀取使用,可是不能在程序中修改這些數據,能夠應用於一些固定的數據的存儲,例如地圖的屬性,省市縣列表等。xml
咱們還能夠經過代碼在沙盒中建立咱們本身的plist文件,進行數據的存儲。同時能夠支持add,delete,replace,find等操做。
//獲取沙盒目錄 NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString *plistPath1 = [paths objectAtIndex:0]; //獲得完整的文件名 NSString *filename=[plistPath1 stringByAppendingPathComponent:@"my.plist"]; NSDictionary * dic = @{@"my":@"haha"}; [dic writeToFile:filename atomically:YES]; //取數據 NSDictionary * getDic = [NSDictionary dictionaryWithContentsOfFile:filename]; NSLog(@"%@",getDic);
打印以下:
這種方式無疑會更加安全,存取也更加自由。
專一技術,熱愛生活,交流技術,也作朋友。
——琿少 QQ羣:203317592