我在我的应用程序中使用核心数据。有一个条件,在这个条件下,我们检查某个特定的键值对(如果有的话)是否不应该被删除,就像。
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中,字符串是这样写的。@"abc"
. 你需要 @
符号。我还会把谓词改写成下面这个样子。
[NSPredicate predicateWithFormat:@"not (issue_accession IN %@)",
@[@"abc",@"pqr",@"xyz",@"lmn"]];