我遇到了实现以下用例的问题:
Foo
通过名为Bar
的关系与myBar
建立了一对一的关系。但是,不止一个Foo
可以具有相同的Bar
。
我来自网络应用程序背景,我将Foo
bar_id
myBar
,并Bar
bar_id
Bar
Foo
{ {1}}。我知道Core Data不是ORM,但我希望可能有类似的东西。
我遇到的问题是,将相同的nil
个实例设置为多个myBar
会导致之前的关系恢复为Bar
。
除了实现多对多关系外别无选择吗?我真的只想调用Bar
方法并让它返回# assume `b` is some instance of Bar
f1 = Foo.alloc.init
f1.bar = b
# calling f1.bar getter now returns the `b` instance of Bar
f2 = Foo.alloc.init
f2.bar = b
# f2.bar getter returns the Bar instance, but *f1.bar does not* - it is now nil.
个实例,而不是一组只有1 {{1}}的内容。
我在RubyMotion中实现这个项目,并在下面包含我的问题的一个例子。 Objective-C开发人员不应该遇到问题,但这个问题比我编写的特定代码更具原则性。
{{1}}
答案 0 :(得分:1)
发现问题:
Foo
→Bar
关系已正确设置为 - 1,但是,反向(Bar
→Foo
)未设置为多个。