iPhone SDK核心数据关系问题

时间:2010-07-22 06:10:04

标签: iphone core-data

我在Core Data中的实体之间存在关联问题。我正在解析一些JSON并添加实体:

if ([hourSets isKindOfClass:[NSArray class]]) { // check to see that we have got some hours back

    for (NSDictionary *hourSet in hourSets) {

        Hourset *thisHourSet = (Hourset *)[NSEntityDescription
               insertNewObjectForEntityForName:@"Hourset"
               inManagedObjectContext:managedObjectContext];

        [thisHourSet setStartDate:[hourSet objectForKey:@"start_date"]];
        [thisHourSet setEndDate:[hourSet objectForKey:@"end_date"]];
        [record addHoursetsObject:thisHourSet];

    }

}

...然后再试图抓住它们:

NSSet *hourSets = [self.listing valueForKeyPath:@"hoursets.hourset"];   
NSLog(@"There are %@ hourSets", [hourSets count]);

我收到程序收到的信号:“EXC_BAD_ACCESS”。当试图以任何方式访问该小时集NSSet时,包括仅计算其中的项目。

有什么建议吗?很难过。谢谢!

1 个答案:

答案 0 :(得分:1)

我在这里推断你的实体图,但是:

[self.listing valueForKeyPath:@"hoursets.hourset"]

...转换为listing.hoursets.hourset的密钥路径,它似乎不会返回集合。第一个和最后一个元素都是单数,因此按惯例不是设置。

我建议记录返回的类,以确认你回来了什么,如果有的话。

更新

(额头拍)问题实际上是日志语句本身。它应该是:

NSLog(@"There are %d hourSets", [hourSets count]);

...因为count会返回NSUInteger。

相关问题