iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 删除所有以某个单词开头的NSUserDefaults大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

有没有办法让我“遍历”我的iPhone应用程序中的所有NSUserDefaults列表,只删除某些? 例如,我想获得所有以某个单词开头的关键名称. 像这样的东西: [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Dog*"]; 你可以浏览一下 DictionaryRepresentation. 这是一个使用NSPreDicat
@H_262_7@
有没有办法让我“遍历”我的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所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。