【发布时间】:2013-08-06 07:06:04
【问题描述】:
我有一个如下的核心数据模型,其中 children 是一对多关系。
.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?
【问题讨论】:
标签: ios nsmanagedobject nsorderedset