iPhone - 获取核心数据的数据

Posted

技术标签:

【中文标题】iPhone - 获取核心数据的数据【英文标题】:iPhone - fetching data on core data 【发布时间】:2010-12-21 19:44:12 【问题描述】:

我有一个这样设计的数据结构:

employee
. department
. building
. sector
> number (this is a relationship to employeeData)



employeeData
. name
. position
. salary
> number (this is a relationship to employee)

这样,每个员工只有一个employeeData条目。

我有所有实体的类。

现在,我如何获取与特定数字匹配的每个员工以及与该员工对应的employeeData?

我需要的是这个

"为employee.number = X 查找employeeData"

谢谢

【问题讨论】:

【参考方案1】:

类似这样的:

NSManagedObjectContext * context  = [[NSApp delegate] managedObjectContext];
NSManagedObjectModel   * model    = [[NSApp delegate] managedObjectModel];
NSDictionary           * entities = [model entitiesByName];
NSEntityDescription    * entity   = [entities valueForKey:@"Employee"];

NSPredicate * predicate;
predicate = [NSPredicate predicateWithFormat:@"number = %@", number];


NSFetchRequest * fetch = [[NSFetchRequest alloc] init];
[fetch setEntity: entity];
[fetch setPredicate: predicate];


NSArray * results = [context executeFetchRequest:fetch error:nil];
[fetch release];

Employee *emp = [results objectAtIndex:0];
EmployeeData *data = [emp data];

请记住,如果关系是在核心数据模型中定义的,则会自动获取到期数据关系。这被提取和修改以适应来自:http://www.cocoadevcentral.com/articles/000086.php

的问题

【讨论】:

谢谢!!!!!!!!!!!!最后一行有一个小问题,因为没有声明数据,但基于此,我得到了正确的答案! 对不起最后一行。我假设“数据”是“员工”的一个属性,并被定义为与员工一对一的关系。

以上是关于iPhone - 获取核心数据的数据的主要内容,如果未能解决你的问题,请参考以下文章

核心数据导致 iPhone 崩溃

Iphone 从核心数据中获取数据并显示在表格中

iPhone核心数据:如何在NIBS之间传递和获取实体

iPhone核心数据得到孙子

iPhone 核心数据 - 获取的托管对象未在设备上发布(在模拟器上很好)

使用 iphone 核心位置数据计算距离