相关疑难解决方法(0)

NSPredicate predicateWithFormat传递属性名称

关于NSPredicate的简单问题.我正在尝试用"传入"值构造我的谓词,如下所示:

NSPredicate* currentPredicate = [NSPredicate predicateWithFormat:@"%@ == %@",key,[changesDict valueForKey:@"Id"] ];
Run Code Online (Sandbox Code Playgroud)

但是,我无法使其正常工作.如果我插入实际值,我通过它确实工作.这样可行:

NSPredicate* currentPredicate = [NSPredicate predicateWithFormat:@"contactId == %@",[changesDict valueForKey:@"Id"] ];
Run Code Online (Sandbox Code Playgroud)

(注意我插入了contactId,而不是前一个用同名传递字符串的例子)

要解决我的NSLogged两个谓词看他们的描述,他们是不同的.我会在下面给他们看.

这是工作的

2013-01-17 10:29:25.513 TestingCoreData[1776:3b03] contactId == "5878"
Run Code Online (Sandbox Code Playgroud)

这是非工作的

2013-01-17 10:29:25.513 TestingCoreData[1776:3b03] "contactId" == "5878"
Run Code Online (Sandbox Code Playgroud)

所以我可以看到它插入一个字符串,我真的只想要我稍后将在获取请求中使用的属性的名称.但有没有办法通过传递价值来实现这一目标?

core-data nspredicate ios

5
推荐指数
1
解决办法
3551
查看次数

标签 统计

core-data ×1

ios ×1

nspredicate ×1