Quirk我刚刚发现,并想与这里的任何人确认这是否可以避免.基本上,如果我有一个非常简单的两个实体模型:
随着之间的一对多关系Entity1
和Entity2
.该关系是可选的,在双方都是nullify作为删除规则.但是,如果我插入一个新Entity1
的children
关系值将是一个空集,而不是nil
:
NSManagedObject *object = [NSEntityDescription
insertNewObjectForEntityForName:@"Entity1"
inManagedObjectContext:[self managedObjectContext]];
assert([object valueForKey:@"children"] != nil);
Run Code Online (Sandbox Code Playgroud)
此外,我无法明确将关系设置为nil
:
[object setValue:nil forKey:@"children"];
assert([object valueForKey:@"children"] != nil);
Run Code Online (Sandbox Code Playgroud)
我已经在一个新的,最小的项目中验证了这一点,这似乎是一个真正的实现细节.问题是,我希望能够区nil
分值(表示当前未知)和空集(真正的零到零关系).CoreData是否真的以合理直接的方式支持这一点?目前似乎没有,这意味着我将不得不寻找另一种(不太直接)的方式来表示我的模型.
谢谢,
Ĵ