我有一个如下的核心数据模型,其中孩子是一对多的关系。
。H
@implementation MyEntity
@dynamic name;
@dynamic children;
@end
.m
@interface MyEntity : NSManagedObject
@property (nonatomic) NSString *name;
@property (nonatomic) NSOrderedSet *children;
@end
然后我尝试使用以下方法设置它:
MYAppDelegate *delegate = (MYAppDelegate *)[UIApplication sharedApplication].delegate;
NSManagedObjectContext *managedObjectContext = [delegate managedObjectContext];
NSEntityDescription *categoryEntity = [NSEntityDescription entityForName:@"MyEntity" inManagedObjectContext:managedObjectContext];
NSManagedObject *newCategory = [[NSManagedObject alloc] initWithEntity:categoryEntity insertIntoManagedObjectContext:managedObjectContext];
[newCategory setValue:key forKey:@"name"];
NSOrderedSet *testSet = [[NSOrderedSet alloc] initWithArray:@[@"This", @"is", @"a", @"test"]];
[newCategory setValue:testSet forKey:@"children"];
}
}
然而在最后一行,我得到了这个错误:
NSCFConstantString managedObjectContext]:无法识别的选择器发送到实例 0xe8fa0'
如果我更改NSOrderedSet
为NSSet
编译器抱怨它需要一个NSOrderedSet
.
如何将集合分配给NSManagedObject
?