将核心数据对象传递给didSelectRowAtIndexPath上的子视图

时间:2012-11-21 09:31:13

标签: ios uitableview core-data didselectrowatindexpath

我有一个核心数据设置,有2个数据库实体。为了名字我会称他们为小学和中学。辅助仅属于一个主要(设置关系)。在我的主视图中,列出了表中的Primary对象,我检索了它们并将它们放在一个PriObject类中,该类存储它的属性(包括托管对象ID)。然后将PriObject添加到可变数组(priArray)中,然后使用该数组将数据填充到表中。到目前为止一切正常。当我单击该行时,我可以记录PriObject.moID。

我无法弄清楚如何在数据库中查找该对象,以便我可以向其中添加辅助对象。我无法通过名称来实现,因为某些主节点可能具有相同的名称。

我需要弄清楚如何从URI或ID中获取对象。我有ID,所以如果需要,我可以生成URI。

根本无法理解它,我看到的任何例子都没有涵盖我需要的东西。有什么选择?

编辑:我目前正在使用以下内容获取所有对象。

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

NSManagedObjectContext *context = [appDelegate managedObjectContext];

NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"Primary"
                                              inManagedObjectContext:context];

NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDesc];

NSError *error;
NSArray *objects = [context executeFetchRequest:request
                                          error:&error];


if ([objects count] == 0) {
    NSLog(@"Nothing found");
} else {
    NSLog(@"Something found");
}

如何使用以下内容更改此内容:

ObjectWithID:

1 个答案:

答案 0 :(得分:2)

调用objectWithID:实例上的NSManagedObjectContext方法来检索实例。

顺便说一下,看起来你正在用这个PriObject类让自己变得更难,它似乎是你NSManagedObject个实例的包装器,是吗?我个人直接使用NSManagedObject子类。