gpt4 book ai didi

core-data - CoreData可选的多对多关系永远不会为零?

转载 作者:行者123 更新时间:2023-12-03 20:42:00 25 4
gpt4 key购买 nike

我刚刚发现的怪癖,想与这里的任何人确认这是否可以避免。基本上,如果我有一个非常简单的两个实体模型:



Entity1Entity2之间具有一对多关系。该关系是可选的,双方都将nullify作为删除规则。但是,如果我插入一个新的Entity1,则children关系的值将是一个空集,而不是nil

NSManagedObject *object = [NSEntityDescription
insertNewObjectForEntityForName:@"Entity1"
inManagedObjectContext:[self managedObjectContext]];
assert([object valueForKey:@"children"] != nil);


此外,我无法将关系明确设置为 nil

[object setValue:nil forKey:@"children"];
assert([object valueForKey:@"children"] != nil);


我已经在一个最小的新项目中对此进行了验证,这似乎是真正的实现细节。问题是,我希望能够区分 nil值(表示当前未知)和空集(真正为零的关系)。实际上,CoreData是否完全以合理的直接方式支持这一点?当前似乎还没有,这意味着我将不得不寻找另一种(不太直接)的方式来表示我的模型。

谢谢,

Ĵ

最佳答案

简短的答案是没有。您总会得到空缺。如果您需要了解对象结构是否已完全实现(我猜您的目标是什么),则可以在对象上设置一个属性,以说明该对象结构是否完全实现。

关于core-data - CoreData可选的多对多关系永远不会为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21418139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com