zoukankan      html  css  js  c++  java
  • NSInvalidArgumentException', reason: '[__NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: WebKitLocalStorageDatabasePathPreferenc

    在iOS5.1以后的版本中,清除所有的NSUserDefaults Data的时候会报错,直接crash

    在清除的时候用一下代码,问题解决。

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    
    NSDictionary *userDefaultsDictionary = [userDefaults dictionaryRepresentation];
    NSString *strWebDatabaseDirectory = [userDefaultsDictionary objectForKey:@"WebDatabaseDirectory"];
    NSString *strWebKitLocalStorageDatabasePathPreferenceKey = [userDefaultsDictionary objectForKey:@"WebKitLocalStorageDatabasePathPreferenceKey"];
    
    [userDefaults removePersistentDomainForName:[[NSBundle mainBundle] bundleIdentifier]];
    
    if (strWebDatabaseDirectory) {
        [userDefaults setObject:strWebDatabaseDirectory forKey:@"WebDatabaseDirectory"];}
    if (strWebKitLocalStorageDatabasePathPreferenceKey) {
        [userDefaults setObject:strWebKitLocalStorageDatabasePathPreferenceKey forKey:@"WebKitLocalStorageDatabasePathPreferenceKey"];}
    
    [userDefaults synchronize];
  • 相关阅读:
    Pymsql
    MySQL基础操/下
    MySQL基础操作
    前端学习之jquery/下
    前端学习之jquery
    Python之异常处理
    Python之模块和包导入
    Python之模块
    Python之面向对象上下文管理协议
    Python之面向对象slots与迭代器协议
  • 原文地址:https://www.cnblogs.com/easonoutlook/p/3083344.html
Copyright © 2011-2022 走看看