[英]Problems saving a to-many relationship in Core Data
我一直在尝试将Core Data实施到我的应用程序中,最近一次尝试设置一对多关系。 我在下面设置关系
NSMutableSet *todoObjects = [[NSMutableSet alloc] init];
for (int i = 0; i < [allTodolistsData count]; i++) {
NSDictionary *dictionary = [allTodolistsData objectAtIndex:i];
TodolistObject *tempTodolist = [[TodolistObject alloc] initWithDict:dictionary];
[todoObjects addObject:[Todolists newTodolist:tempTodolist withContext:appDelegate.context]];
[tempTodolist release];
}
[project setTodolists:todoObjects];
项目变量是NSManagedObject
,并且setTodolists:
方法是自动生成的,用于设置项目的待办事项列表。 由于该项目与待办事项列表具有一对多关系,因此我传入了NSMutableSet。 但是,执行此操作时,出现以下错误:
-[__ NSArrayM isEqualToSet:]:无法识别的选择器已发送到实例0xa325d60
我似乎找不到任何遇到此问题的人。 有任何想法吗?
您必须从NSManagedObject取回该关系的可变集,然后向其中添加新对象:
NSMutableSet *todoObjects = (NSMutableSet*)[project mutableSetValueForKey:@"todoLists"];
// Switch your for loop to use fast-enumaration
for (NSDictionary *dictionary in allTodolistsData) {
TodolistObject *tempTodolist = [[TodolistObject alloc] initWithDict:dictionary];
[todoObjects addObject:[Todolists newTodolist:tempTodolist withContext:appDelegate.context]];
[tempTodolist release];
}
// Save project in the same context where you created the object
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.