如何正確的寫(xiě)入和讀取plist文件

? ? iOS的數(shù)據(jù)持久化存儲(chǔ)有很多種方式,最近做內(nèi)購(gòu)相關(guān)的東西,想把一些異常訂單信息和未處理訂單信息存儲(chǔ)起來(lái),由于要存儲(chǔ)數(shù)組,所以想到用plist文件做數(shù)據(jù)持久化存儲(chǔ)。

1,如何創(chuàng)建一個(gè)plist文件

當(dāng)創(chuàng)建plist文件時(shí),這里有一個(gè)點(diǎn)需要特別注意,不能用[NSBundle mainBundle]的目錄下進(jìn)行創(chuàng)建,寫(xiě)入文件,因?yàn)閎undle目錄是只讀的!

創(chuàng)建代碼如下:

NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"ValidatePayProducts.plist"];

if (![[NSFileManager defaultManager] fileExistsAtPath:path]) {// 文件不存在

[[NSFileManager defaultManager] createFileAtPath:path contents:nil attributes:nil];

// 寫(xiě)入一個(gè)數(shù)組

NSMutableArray *arr=[[NSMutableArray alloc] init];

[arr writeToFile:path atomically:YES];

}

由于plist文件的root只能是數(shù)組或者字典,這里用數(shù)組

2,讀取plist,修改

//首先判斷路

NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"ValidatePayProducts.plist"];

if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {// 文件存在

// 讀取文件 ? ?

NSMutableArray *payarr = [NSMutableArray arrayWithContentsOfFile:path];

// 對(duì)數(shù)組做操作,并重新寫(xiě)入plist文件即可

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容