核心数据从数组中选择对象 - iPhone

Posted

技术标签:

【中文标题】核心数据从数组中选择对象 - iPhone【英文标题】:Core data select objects from an array - iPhone 【发布时间】:2010-03-11 09:28:10 【问题描述】:

我想知道是否可以基于带有数组的谓词来选择对象...例如

代码: [NSPredicate predicateWithFormat:@"id=%@", arrayOfID];

它会起作用吗?如果没有,我该怎么办?

最好的

【问题讨论】:

【参考方案1】:

正确的谓词是

[NSPredicate predicateWithFormat:@"id IN %@", arrayOfID];

假设 arrayOfId 包含与 id 相同类型的对象(例如 NSNumbers 或 NSStrings)。

【讨论】:

【参考方案2】:

是的,当然可以。

听起来您需要对 Core Data 有一定的了解。我发现以下教程对于让我开始使用 Core Data 非常有用:

http://iphoneinaction.manning.com/iphone_in_action/2009/08/core-data-part-1-an-introduction.html

【讨论】:

你是对的......我无法为查询找到一个好的tuto!谢谢 它似乎不起作用...我收到一个错误:*** -[NSCFArray longLongValue]:无法识别的选择器发送到实例 0x7e2d820 *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序, 原因: '*** -[NSCFArray longLongValue]: unrecognized selector sent to instance 0x7e2d820' 要清楚... id 是一个 int 而我的数组是一个 int 数组! 从您发布的内容中不清楚问题是什么。如果问题与当前问题有足够的不同,也许您可​​以提出一个新问题? 该错误似乎表明 id 是一个 NSNumber,因此由于 id=%@ 谓词,它尝试将 longLongValue 发送到数组。用 IN 替换 = 应该可以解决这个错误,因为它会将该消息发送到数组中包含的 NSNumbers。

以上是关于核心数据从数组中选择对象 - iPhone的主要内容,如果未能解决你的问题,请参考以下文章

Restkit:从核心数据获取到服务器的 POST 对象数组

将核心数据加载到数组中,然后填充表视图,重新排序数组对象不会持久

将对象保存在核心数据中(字符串属性,双精度数组)

核心数据 - 获取对象数组的最后一个对象?

predicateWithFormat 返回错误的核心数据对象

从数组中检索索引,使用该索引在pickerview中选择一行