我在运行时向 NSUserDefaults
添加值,并将键设置为 [NSString stringWithFormat:@"decrement%@",course_id];
我正在一个一个地设置对象,有什么方法可以获取所有键以“递减”开头的 userdefaults 对象吗?
或者我必须进入一个循环并通过一个一个地制作精确的键来获取对象?
注意:- 我接受反对票作为一种健康的批评方式,但请写下原因以便我可以改进。
最佳答案
你可以像这样获取 NSUserDefaults 的所有字典键:
NSArray *arrKeys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]
现在使用 NSPredicate 查找 [NSString stringWithFormat:@"decrement%@",course_id]; arrKeys 中的值
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(SELF like %@)",@"decrement"];
NSArray *keysLikeDecrement =
[arrKeys filteredArrayUsingPredicate:predicate];
NSPredicate *aPredicate =
[NSPredicate predicateWithFormat:@"SELF beginswith 'decrement'"];
NSArray *beginWithDecrement =
[arrKeys filteredArrayUsingPredicate:aPredicate];
NSPredicate *bPredicate =
[NSPredicate predicateWithFormat:@"SELF contains 'decrement'"];
NSArray *containsWithDecrement =[arrKeys filterUsingPredicate:bPredicate];
关于ios - 有什么方法可以使用正则表达式或通配符从 NSUserDefaults 获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12386798/