gpt4 book ai didi

ios - NSPredicate predicateWithFormat 传入属性名称

转载 作者:可可西里 更新时间:2023-11-01 04:14:25 26 4
gpt4 key购买 nike

关于 NSPredicate 的简单问题。我正在尝试使用像这样的“传入”值来构造我的谓词:

NSPredicate* currentPredicate = [NSPredicate predicateWithFormat:@"%@ == %@",key,[changesDict valueForKey:@"Id"] ];

但是,我无法让它正常工作。如果我插入我传递的实际值,它确实有效。所以这有效:

NSPredicate* currentPredicate = [NSPredicate predicateWithFormat:@"contactId == %@",[changesDict valueForKey:@"Id"] ];

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

为了排除故障,我对两个谓词进行了 NSLogged 查看它们的描述,发现它们是不同的。我将在下面展示它们。

这是工作的

2013-01-17 10:29:25.513 TestingCoreData[1776:3b03] contactId == "5878"

这是不工作的

2013-01-17 10:29:25.513 TestingCoreData[1776:3b03] "contactId" == "5878"

所以我可以看出它正在插入一个字符串,我实际上只想要我稍后将在获取请求中使用的属性的名称。但是有什么方法可以通过传递值来实现这一点吗?

最佳答案

对于键路径,你必须使用%K格式:

[NSPredicate predicateWithFormat:@"%K == %@", key, [changesDict valueForKey:@"Id"]];

(参见“谓词编程指南”中的 Parser Basics。)

关于ios - NSPredicate predicateWithFormat 传入属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14385011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com