2013-09-22 29 views
0

我设置了一个具有三个属性“名称”“性别”“作业”的CoreData实体如何获取指定的CoreData值?

我在其中存储了5个数据并希望使用它们来比较他们的工作。每个数据都包含“name”“sex”“job”)

我知道如何按顺序抓取它们(按插入时间排序),但我不知道如何抓取它们中的一个? (如下图所示,我想找到第一个Sue的工作,第三个是Ken的工作,其他的我不在乎)。如果只有第一个插入数据和第三个插入的数据检查他的工作 (如下,我想找到第一个Sue的工作和第三个Ken的工作,其他人我不在乎)

===========================

名:苏/鲍勃/ KEN /百合/约翰

性别:W/M/M/W/M

工作:经理/员工/员工/员工/经理助理

==========================================

请给我一些建议或示例代码〜

谢谢〜

+0

基于什么命令?为什么你只想获取第三个项目?这听起来像你可能错误地处理了这个问题,请尝试解释更多关于你想要做的事情。 – jrturton

+0

什么标准会产生你想得到的数据? (不能只说第三个数据!) – user523234

+0

对不起,因为我的英语不好,我试着清楚地解释我的问题。行! – user2775128

回答

0

使用读取请求印性质:

[request setFetchOffset:3]

这是唯一的对象返回地址:

[request setFetchLimit:1]

编辑:

您无法通过索引来访问您的数据超过一个对象(除非他们是在您定义的顺序连续)(问题细化后)。

您需要一种方法(键)只识别你所需要的对象(如果你的name属性是唯一/ KEY,你可以在这种情况下使用)。您始终可以使用托管对象ID来唯一标识托管对象

如果您有对您感兴趣的对象的对象ID,那么只需使用如下谓词来获取它们:[NSPredicate predicateWithFormat:@"SELF IN %@",objectIDs]
如果另一个键确定你的对象,定义一个谓词,给你拿这些项目只例:
[NSPredicate predicateWithFormat:@"name IN %@",@[@"Sue",@"Ken"]]
你可以添加一个属性标记你需要的对象(BOOL属性),并用它定义你的断言。

如果你有一个小的对象,存在获取所有这些,只选择那些你需要没有真正的问题。如果你有很多对象,通过索引而不是按键来访问它们可能不是要走的路。

如果需要,因为用户选择他们访问这些项目,而不是保存自己的指数,挽救他们的对象ID,并通过它访问它们。

+0

行!我知道了,谢谢〜 – user2775128

相关问题