iPhones SDK:使用核心数据设置关系属性对象?
Posted
技术标签:
【中文标题】iPhones SDK:使用核心数据设置关系属性对象?【英文标题】:iPhones SDK: Setting a relationship property object using core data? 【发布时间】:2010-03-13 02:18:18 【问题描述】:我在我的应用中使用核心数据。我有两个相关的实体:EntityA 和 EntityB。 EntityA 与 EntityB 具有“关系”类型的属性。此外,这两个实体都是定义的类(不是默认的 NSManagedObject)。我正在向我的数据中插入一个新对象,如下所示:
EntityA *newEntityA = [NSEntityDescription insertNewObjectForEntityForName:@"EntityA" inManagedObjectContext:self.managedObjectContext];
newEntityA.name = @"some name";
newEntityA.entityB.name = @"some other name";
问题是 entityB.name 为空。即使我在分配值后立即添加 NSLog() 语句,它也是空的。当 EntityB 是 EntityA 的属性时,设置我的 EntityB 的“名称”属性的正确方法是什么?
【问题讨论】:
【参考方案1】:你还需要先创建一个EntityB对象:
EntityA *newEntityA = [NSEntityDescription insertNewObjectForEntityForName:@"EntityA" inManagedObjectContext:self.managedObjectContext];
newEntityA.name = @"some name";
EntityB *newEntityB = [NSEntityDescription insertNewObjectForEntityForName:@"EntityB" inManagedObjectContext:self.managedObjectContext];
newEntityA.entityB = newEntityB;
newEntityA.entityB.name = @"some other name";
【讨论】:
谢谢。有时,我们逃避的是显而易见的事情。以上是关于iPhones SDK:使用核心数据设置关系属性对象?的主要内容,如果未能解决你的问题,请参考以下文章