iphone – 删除所有以某个单词开头的NSUserDefaults

iphone – 删除所有以某个单词开头的NSUserDefaults,第1张

概述有没有办法让我“遍历”我的iPhone应用程序中的所有NSUserDefaults列表,只删除某些? 例如,我想获得所有以某个单词开头的关键名称. 像这样的东西: [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Dog*"]; 你可以浏览一下 dictionaryRepresentation. 这是一个使用NSPredicat 有没有办法让我“遍历”我的iPhone应用程序中的所有NSUserDefaults列表,只删除某些?

例如,我想获得所有以某个单词开头的关键名称.

像这样的东西:

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Dog*"];
解决方法 你可以浏览一下 dictionaryRepresentation.

这是一个使用NSPredicate作为通用匹配器以实现更大灵活性的实现.

@interface NSUserDefaults (JRAdditions)- (voID)removeObjectsWithKeysMatchingPredicate:(nspredicate *)predicate;@end@implementation NSUserDefaults (JRAdditions)- (voID)removeObjectsWithKeysMatchingPredicate:(nspredicate *)predicate {   NSArray *keys = [[self dictionaryRepresentation] allKeys];   for(Nsstring *key in keys) {      if([predicate evaluateWithObject:key]) {         [self removeObjectForKey:key];      }   }}@end

用法:

nspredicate *pred = [nspredicate predicateWithFormat:@"SELF BEGINSWITH %@",@"something"];[[NSUserDefaults standardUserDefaults] removeObjectsWithKeysMatchingPredicate:pred];
总结

以上是内存溢出为你收集整理的iphone – 删除所有以某个单词开头的NSUserDefaults全部内容,希望文章能够帮你解决iphone – 删除所有以某个单词开头的NSUserDefaults所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1068043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存