我有一个场景,我必须根据给定列的多个值从 Core Data 中获取多条记录。用于此目的的常见 SQL 查询是
SELECT * FROM suppliers
WHERE supplier_name in ('IBM', 'Hewlett Packard', 'Microsoft');
我无法弄清楚如何IN()
为此目的使用本机功能。
我NSPredicate
目前创建的方式似乎是多余的,如下所示。
NSMutableArray *predicateArray = [NSMutableArray array];
[skus enumerateObjectsUsingBlock:^(NSString *sku, NSUInteger idx, BOOL *stop) {
[predicateArray addObject:
[NSString stringWithFormat:@"(AudioSKU == \"%@\")", sku]];
}];
NSString *predicateString = [predicateArray
componentsJoinedByString:@" OR "];
NSPredicate *predicate = [NSPredicate
predicateWithFormat:predicateString];
是否有使用 NSPredciate 或 NSExpression 来使用IN
SQL 功能的正确方法?请赐教。