我有一个简单的父子关系。关系是有序的。我为每个实体创建了 NSManagedObject 子类。当我尝试将孩子添加到父母的孩子订购的集合中时。我收到以下错误:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*** -[NSSet intersectsSet:]: set argument is not an NSSet”。
以下是相关代码:
CDParent.h
@interface CDParent : NSManagedObject
@property (nonatomic, retain) NSOrderedSet *children;
@end
@interface CDParent (CoreDataGeneratedAccessors)
// snip
- (void)addChildrenObject:(CDChild *)value;
// snip
@end
CDChild.h
@class CDParent;
@interface CDChild : NSManagedObject
@property (nonatomic, retain) CDParent *parent;
@end
CDAppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
CDParent *parent = [NSEntityDescription insertNewObjectForEntityForName:@"Parent" inManagedObjectContext:self.managedObjectContext];
CDChild *child = [NSEntityDescription insertNewObjectForEntityForName:@"Child" inManagedObjectContext:self.managedObjectContext];
[parent addChildrenObject:child]; // <- CRASH
// SNIP
}
这似乎很简单。我一定错过了一些非常基本的东西,因为我在 ole 互联网上找不到任何答案。
谢谢!