中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NSUserDefaults刪除整個plist文件

發布時間:2020-07-06 17:27:45 來源:網絡 閱讀:481 作者:卓行天下 欄目:開發技術



我們知道NSUserDefaults可以保存某些信息在本地,例如登錄的賬號,密碼等等,當我們使用NSUserDefaults時,它是將信息寫入到本地的一個plist文件里,我們都知道 刪除plist里的某一項內容直接用[[NSUserDefaults standardUserDefaults] removeObjectForKey:key];這樣就可以直接刪除 plist中的某一個特定的項的內容了,

但是,如果要把整個plist文件刪除,那應該怎么樣呢???

其實也不難,我們要知道刪除整個plist文件實際上就是把plist文件中的所有item刪除就行了,也就是說,如果plist文件里只有一項內容,

NSUserDefaults *userDefatluts = [NSUserDefaults standardUserDefaults];

[userDefaults setObject:"張三" forKey:@"name"];

[userDefaults synchronize];   //這行代碼一定要加,雖然有時候不加這一行代碼也能保存成功,但是如果程序運行占用比較大的內存的時候不加這行代碼,可能會造成無法寫入plist文件中,我試驗過,真的是這樣的

這樣,我們就往plist文件中寫入了一個name的item。

接下來,我們這么寫:

NSUserDefaults *userDefatluts = [NSUserDefaults standardUserDefaults];

[userDefaults removeObjectForKey:@"name"];

[userDefaults synchronize];


這樣你會發現,plist文件消失了,但是如果我們寫入的內容不僅僅是一項那要怎么刪除所有的呢?

其實原理和只有一個item時候是一樣的,我們刪掉plist文件也就是相當于把plist文件里的所有item依次刪除,對,就這么簡單。

下面看一下代碼:

我們先要取到plist文件里的所有的Key 否則 是不能用 removeObjectForKey:key 這個方法來刪除的,那么怎樣獲得plist文件中素有item的key呢,dictionary 有一個方法 [dictionary allKeys];返回值是一個數組,這樣我們能拿到dictionary中所有的 key,

我們知道我們寫入的plist文件中的項目是以一個字典的形式保存的,所以,

代碼如下:

NSUserDefaults *userDefatluts = [NSUserDefaults standardUserDefaults];

NSDictionary *dictionary = [userDefaults dictionaryRepresentation];

for(NSString* key in [dictionary allKeys]){

    [userDefaults removeObjectForKey:key];

    [userDefaults synchronize];

}

這樣自己通過 NSUserDefaults 寫入到本地的plist文件就能 把整個文件刪除了。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

重庆市| 乐东| 建湖县| 湘潭县| 上饶市| 阿荣旗| 丽江市| 长子县| 白河县| 凉城县| 资阳市| 民丰县| 乌拉特中旗| 新巴尔虎左旗| 岗巴县| 延吉市| 仪陇县| 雷山县| 皮山县| 民乐县| 哈密市| 凯里市| 宣威市| 广南县| 兰考县| 阿城市| 灵武市| 涪陵区| 张家港市| 化德县| 山东| 久治县| 漳浦县| 丰原市| 阿鲁科尔沁旗| 射阳县| 色达县| 巴彦县| 大埔县| 汾阳市| 武陟县|