iOS數據持久化之一——plist文件

iOS數據持久化之一——plist文件

        iOS開發中,咱們時常會將一些簡單的數據進行持久化的存儲,方便咱們保存程序的一些配置和用戶的一些數據,plist文件就是咱們保存這些數據的最佳選擇。xcode

1、何爲plist

        plist是一種文件格式,其內容規則是xml文件,後綴爲.plist,所以,咱們更習慣於成它問plist文件,在iOS開發中,這種文件經常使用來保存一些簡單的配置數據,例如項目中的info.plist。安全

經過plist文件編輯器,咱們能夠很方便的查看和編輯層次清晰的plist文件。編輯器

2、經過操做plist文件進行數據持久化的幾種方式

一、操做系統爲咱們準備的用戶配置文件——NSUserDefaults

        對於NSUserDefaults,具體用法和一些小技巧在之前的一篇博客中有詳細的描述,通常的用戶配置信息,咱們都會選擇經過這種方式來進行持久化,地址以下:http://my.oschina.net/u/2340880/blog/411344工具

二、在項目包中手動建立一個plist文件,經過代碼對其進行操做

        這種方式建立的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文件

        咱們還能夠經過代碼在沙盒中建立咱們本身的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

相關文章
相關標籤/搜索