hat*_*ike 5 core-data nspredicate ios
关于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)
所以我可以看到它插入一个字符串,我真的只想要我稍后将在获取请求中使用的属性的名称.但有没有办法通过传递价值来实现这一目标?
Mar*_*n R 14
对于键或键路径,您必须使用以下%K格式:
[NSPredicate predicateWithFormat:@"%K == %@", key, [changesDict valueForKey:@"Id"]];
Run Code Online (Sandbox Code Playgroud)
(参见"Predicate Programming Guide"中的Parser Basics.)
| 归档时间: |
|
| 查看次数: |
3551 次 |
| 最近记录: |