導航:首頁 > 文件教程 > plist文件讀寫

plist文件讀寫

發布時間:2023-03-27 14:54:53

A. IOS 存儲方式(PList、NSUserDefaults、歸檔、CoreData、資料庫文件

iOS開發,plist文件讀寫那些事 - (jianshu.com)

NSUserDefaults存儲輕量級 的本地數據 ,比如要保存一個登陸界面的數據,用戶名、密碼之類的。

支持的數據類型有 NSString、 NSNumber、NSInteger、NSFloat、BOOL、NSArray、NSDictionary、NSDate、系統定義的數據類型。

用NSUserDefaults存儲的數據下次程序運行的時候依然存在 .它的數據存儲在應用程序內置的一個plist文件里, 在/Library/Prefereces沙盒路徑下.

NSUserDefaults是定時把緩存中的數據寫入磁碟的,而不是即時寫入,為了防止在寫完NSUserDefaults後程序退出導致的數據丟失,可以在寫入數據後使用synchronize強制立即將數據寫入磁碟:

使用NSKeyedArchiver 對數據進行 歸檔 反歸檔(將自定義類型轉換為NSData類型:)

NSuserDefaults 的坑
iOS 最終,我還是決定放棄使用NSUserDefaults了 - (jianshu.io)

歸檔: ,就是將數據寫到一個文件裡面去。一般我們的應用的變數常量之類的數據都是在內存裡面的,只要APP關閉,這些數據都會丟失。但是把數據存儲到文件裡面去,就能將數據保存到本地磁碟裡面(目前iOS基本就是在沙盒裡面操作了),不管是APP關閉還是重啟設備,下次啟動APP的時候都能夠讀出來。

解檔: (別人也叫反歸檔),就是將數據從文件裡面讀取出來。在程序裡面使用。

【iOS】數據持久化:使用NSKeyedArchiver進行數據歸檔 - (jianshu.com)

iOS 開發Core Data使用方法 – 技術狗 (jishudog.com)

IOS 開發文件操作——NSFileManager - 星語海藍 - 博客園 (cnblogs.com)
(15條消息) iOS文件操作_你有故事,我囿酒-CSDN博客

參考:
iOS開發 - 關於 NSUserDefaults 的使用 - (jianshu.com)

B. iOS 中 plist 文件的使用

解釋一下,plist 文件就是 Property List 文件,我們在 Xcode 中新建一個 Project 的時候,在 Project 中可以看到有一個 Info.plist 文件,這種以 .plist 後綴結尾的文件是以 key-value 鍵值對的形式保存數據的。在開發中,我們可以使用這些 plist 文件保存一些系統配置、用戶信息等的信息,炒雞方便。

這樣吧,我搞一個 plist 文件,裡面放有一些城市列表數據,然後把它讀取出來。

新建一個 Property List 文件(以下簡稱 plist 文件),姑且起個名字 Cities.plist

打開 Cities.plist 文件,發現它可以存儲 Array(數組)和 Dictionary(字典)數據

由於城市列表就是個數組,所以我們在 Root 這個 key 中的 Type 選擇 Array,並往裡面添加點城市數據

添加完模擬數據,才發現添加的不是城市數據...算了,當作城市吧
其實 plist 文件本質就是一個 xml 文件

控制台列印:

這樣拿到數據就可以對它進行一些處理了。
好吧,我只是經常要用到記錄一下而已🌚

C. 用觸動怎麼讀取plist的數組

.plist文件裡面放的可能是數組也可能是字典,我們如果直接用NSLog方法列印數組,字典的時候,我們會得到的就是這樣的編碼格式的內容,這顯然是不能用在android的,所以我們的思路是要將.plist中的內容列印為我們能處理的內容,那就是JsonString了。所以iOS這邊的做法,如圖片所示,先將plist文件放入,然後讀取出內部的數組信息,然後用SBJson轉化為NSString,然後在NSLog列印出來,運行程序我們會得到

D. iOS開發,plist文件讀寫操作

這里有一點需要注意:
命名的時候不能用Info.plist , INfo.plist, xxxInfo.plist等形式,否則會與系統中存在的Info.plist文件發生沖突。

點擊Root這一行,然後通過點擊右鍵->Add Row或者點擊Root後面的加號來增加一行。
這一行中包含三個屬性,key、type、value。其中key是欄位屬性,type是欄位類型,value是欄位對應的值。
Type包含7中類型,對寫入的數據結構應屬於7仲:
(NSString,NSData,NSDate,NSNumber,NSArray,NSDictionary)

讀取數據
文件是什麼類型,就用什麼類型的數據來接收

參考文檔1: iOS開發,plist文件讀寫那些事
參考文檔2: iOS開發中怎麼創建Plist文件
參考文檔3: 【iOS】plist無法寫入的原因
參考文檔4: plist 文件寫入與讀取

E. 請問如何讀入數據,plist文件(用記事本即可打開)

plist文件用記事本打開方法如下:
1.
打開系統記事本程序:
2.
輸入System.Diagnostics.Process.Start("notepad.exe")
3.
用記事本程序打開一個txt文件:
例如在D盤的【abc.txt】文件,傳入文件的路徑參數即可,如下:
System.Diagnostics.Process.Start("notepad.exe",
"D:\\a.txt");

F. ios 怎麼從 plist讀取應用名字

在IOS中,讀取系統產生的文件和用戶自定義的plist文件寫法是不一樣的,系統產生的plist文件和用戶自定義的plist文件的代碼定法是不一樣。

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

//讀取自定義的 plist文件的寫法

// NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"customInfo" ofType:@"plist"];
// NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
// NSLog(@"dictionary = %@",dictionary);
//將學生信息填入
// NSDictionary *tmpInfo = [dictionary objectForKey:@"Student"];
// self.txtStuName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Name"]];
// self.txtStuSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Sex"]];
// self.txtStuNum.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Num"]];
//將導師信息填入
// tmpInfo = [dictionary objectForKey:@"Mentor"];
// self.txtMtName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Name"]];
// self.txtMtSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Sex"]];

//讀取系統產生的 plist文件的寫法

NSDictionary *plistDic = [[NSBundle mainBundle] infoDictionary];
NSLog(@"plistDic = %@",plistDic);

//將學生信息填入
NSDictionary *tmpInfo = [plistDic objectForKey:@"Student"];
self.txtStuName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Name"]];
self.txtStuSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Sex"]];
self.txtStuNum.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Num"]];
//將導師信息填入
tmpInfo = [plistDic objectForKey:@"Mentor"];
self.txtMtName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Name"]];
self.txtMtSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Sex"]];

}

G. ios開發怎麼讀取plist文件

首先要知道讀取plist文件的方法,一般來說,使用代碼

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"listFileName" ofType:@"plist"];
NSArray *array = [[NSArray alloc] initWithContentsOfFile:plistPath];
NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

已經足夠了,此時可以使用NSLog常式查看array和dictionary的內容。不過,有時候受plist文件內容的限制,array內容可能為空。

其實,用dictionary就已經足夠了,在下面的例子里我們也只用dictionary。

1、運行Xcode4.2,新建一個Single View Application,名稱為ReadPlistFile,其他設置如下圖:

2、新建我們自己的plist文件:

File —> New —> New File,選擇Mac OS X下的Property List

文件名為 customInfo,Group選擇Supporting Files。

3、單擊新建的customInfo.plist,我們添加數據,如下圖:

注意,Type一項的類型,選擇的是Dictionary,以Source Code打開,顯示如下:

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>Student</key>
<dict>
<key>Name</key>
<string>Yang</string>
<key>Sex</key>
<string>Male</string>
<key>Num</key>
<string>SX_010</string>
</dict>
<key>Mentor</key>
<dict>
<key>Name</key>
<string>Gu</string>
<key>Sex</key>
<string>Male</string>
</dict>
</dict>
</plist>

4、為視圖添加控制項:

單擊BIDViewController.xib,打開IB,拖幾個控制項上去,並設置好布局,如下圖:

上圖中所有的控制項都是Label,並設置了字體大小。

5、接下來就是映射唄,把五個灰色的Label都映射到BIDViewController.h文件中,類型都是OutLet,名稱依次是stuName,stuSex,stuNum,mtName,mtSex。

6、單擊BIDViewController.m,在viewDidLoad方法中的[super viewDidLoad]之後添加如下代碼:

//首先讀取studentInfo.plist中的數據
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"customInfo" ofType:@"plist"];
NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

//將學生信息填入視圖
NSDictionary *tmpInfo = [dictionary objectForKey: @"Student"];
self.stuName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey: @"Name"]];
self.stuSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey: @"Sex"]];
self.stuNum.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey: @"Num"]];

//將導師信息寫入視圖
tmpInfo = [dictionary objectForKey: @"Mentor"];
self.mtName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey: @"Name"]];
self.mtSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey: @"Sex"]];

7、運行,查看效果:

閱讀全文

與plist文件讀寫相關的資料

熱點內容
如何安裝my配置文件 瀏覽:324
卡死安卓機代碼 瀏覽:127
mt4畫的線屬於什麼文件 瀏覽:568
輸入文件格式 瀏覽:103
織夢網站一排4張圖片 瀏覽:301
樂1s可以升級到全網通嗎 瀏覽:484
QQ瀏覽器保留密碼mac 瀏覽:761
一台電腦如何共享文件夾 瀏覽:942
wps如何保存pdf文件 瀏覽:602
PS源文件是厘米 瀏覽:766
創建桌面文件夾路徑 瀏覽:900
華為手機app應用數據哪些刪除 瀏覽:765
資料庫有哪些表格 瀏覽:741
bada12微信java 瀏覽:16
小白編程什麼最好學 瀏覽:205
qq回頭看頭像 瀏覽:338
蘋果換屏要多長時間 瀏覽:283
如何用平板電腦學編程 瀏覽:424
格式工廠怎麼轉換swf文件 瀏覽:817
怎麼做一個試用網站 瀏覽:953

友情鏈接