繁体   English   中英

NSPredicate与NSNrray的NSNumber(核心数据)

[英]NSPredicate with a NSArray of NSNumbers (Core Data)

我有Core Data实体Field,其属性为ID 我想在ID == 1,2或3中搜索所有Field实体。

如何将数组添加到NSPredicate,而不是创建一个长附加字符串,如:

NSArray *IDArray = @[@1, @2, @3];

NSMutableString *predicateString = [NSMutableString string];

for (NSNumber *ID in IDArray) {
    [predicateString appendString:[NSString stringWithFormat:@"ID == %@, ID]];
}

这应该工作:

NSArray *IDArray = @[@1, @2, @3];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ID IN %@", IDArray];

备注:您永远不应该使用字符串格式化函数来组合谓词。 采用

 [NSCompoundPredicate orPredicateWithSubpredicates:...]

和类似的方法。 原因是字符串和谓词具有不同的规则,如何扩展格式说明符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM