1. 程式人生 > >iOS NSUserDefaults刪除全部記錄或刪除指定記錄

iOS NSUserDefaults刪除全部記錄或刪除指定記錄

hihi,勇敢的小夥伴兒們你們好。

小女不才,之前一直不知道NSUserDefaults刪除全部記錄的操作,因為發現一個小問題,所以才看到了這樣的一段程式碼。

NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain]; 

在此分享給大家,不過這行程式碼對我來說是一個坑,因為我有一個key並不需要刪除,相反還需要保留下來。

所以我找到了另一種可以保留住我的key的全部刪除的方法。

就是遍歷NSUserDefaults裡面的所有key,將不是所需key的其他全部刪掉。當然也可以執行刪除全部的操作。

靈活使用即可。

注意:不要複製貼上,該段程式碼為我自己所需,很簡單,請理解後再使用。

NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
    NSDictionary* defaults = [defs dictionaryRepresentation];
    for (id key in defaults) {
        if (![key isEqualToString:@"firstLaunch"]) {
            [defs removeObjectForKey:key];
            [defs synchronize];
        } else {
            NSLog(@"%@",[defs objectForKey:key]);
        }
    }

今天分享的內容到此結束了,如果有什麼問題煩請大家夥兒給我指出,可以在下方評論或在首頁新增微信聯絡顏華,感激不盡。