核心数据从数组中选择对象 - 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 对象数组
将核心数据加载到数组中,然后填充表视图,重新排序数组对象不会持久