我正在+[NSUserDefaults standardUserDefaults]用来存储应用程序设置.这包含大约十几个字符串值.是否可以永久删除这些值而不是仅将它们设置为默认值?
我有这个代码UserDefaults从应用程序中删除所有数据:
let domain = Bundle.main.bundleIdentifier!
UserDefaults.standard.removePersistentDomain(forName: domain)
print(Array(UserDefaults.standard.dictionaryRepresentation().keys).count)
Run Code Online (Sandbox Code Playgroud)
但是我10从印刷线上得到了.不应该0吗?
如何nsuserdefault在swift中自动清除值?我已经尝试了这个,但它对我不起作用......
[[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary] forName:[[NSBundle mainBundle] bundleIdentifier]];
Run Code Online (Sandbox Code Playgroud) 我想检查一下是否NSDictionary为空.我是这样做的.
mutDictValues = [[[NSUserDefaults standardUserDefaults] objectForKey:@"dicValues"]mutableCopy];
NSLog(@"dictValues are %@",mutDictValues);
if(mutDictValues == NULL){
arrCities = [[NSMutableArray alloc]init];
NSLog(@"no cities seleceted");
}else{
arrCities = [[NSMutableArray alloc]init];
arrCities = [mutDictValues objectForKey:@"cities"];
[self placeCities];
}
Run Code Online (Sandbox Code Playgroud)
但它在这一行崩溃arrCities = [mutDictValues objectForKey:@"cities"];,出现以下错误:
-[__NSCFConstantString objectForKey:]:
Run Code Online (Sandbox Code Playgroud)
有人可以帮我弄这个吗 ?
有没有办法让我"浏览" NSUserDefault我的iPhone应用程序中所有s 的列表,只删除某些?
例如,我想获得所有以某个单词开头的关键名称.
像这样的东西:
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Dog*"];
Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用NSUserDefaults很多时间来存储一些值,但在"刷新按钮"我想清除所有存储的值,有没有办法清除所有NSUserDefaults值?
我正在将 NSUserDefaults 或 Defaults 与套件名称一起使用。
例如:
UserDefaults(suiteName: "AccountOne")?.set("Active", forKey: "AKey")
我想删除给定套件名称的所有键和值:AccountOne
ios ×6
objective-c ×4
iphone ×2
swift ×2
cocoa-touch ×1
nsdictionary ×1
swift2 ×1
swift3 ×1
xcode ×1