如何在Core Data iOS SDK中使用 "not in "查询?

问题描述 投票:0回答:1

我在我的应用程序中使用核心数据。有一个条件,在这个条件下,我们检查某个特定的键值对(如果有的话)是否不应该被删除,就像。

select * from table where name not in {"abc","pqr","xyz","lmn"};

比方说,在表格中,我有名字 "abc","pqr","xyz","lmn","mno","efg", 所以它应该只返回我两个名字 "mno "和 "efg",但它返回我所有可用的记录。对于Core数据,我设置了Predicate,如

NSArray *array=[NSArray arrayWithObjects:"abc","pqr","xyz","lmn",nil];
 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Not(issue_accession IN %@)", array ];

我做错了什么?

objective-c core-data ios7 xcode5
1个回答
2
投票

你的代码有几个问题。它甚至不应该被编译。

在Objective-C中,字符串是这样写的。@"abc". 你需要 @ 符号。我还会把谓词改写成下面这个样子。

[NSPredicate predicateWithFormat:@"not (issue_accession IN %@)",
  @[@"abc",@"pqr",@"xyz",@"lmn"]];
© www.soinside.com 2019 - 2024. All rights reserved.