对不起,这有点模糊,但这里有:
我记得曾经读过你不应该执行以下操作来遍历NSManagedObject关系,因为级联最终可能会链接到NIL的一部分:
self.roomItemInstance.roomInstance.report
我发现由于删除操作等原因,链接的某些部分确实可以设置为NIL,这会导致我的代码中出现细微的问题。
我想知道的是,我认为这是不好的做法是对的,如果是这样的话,你建议用什么而不是菊花链?
提前致谢
答案 0 :(得分:1)
就我所知,这是一种完全可以接受的遍历NSManagedObjects属性的方法。我相信Apple实际上建议使用这些访问器(无论是虚线,如你所示,还是括号[[object property] property]),而不是访问属性/属性时的典型替代'getValue forKey'。
答案 1 :(得分:0)
我相信没关系,因为Objective C nil对象能够响应选择器。如果链中的任何关系返回nil,则将为其余关系发送getter选择器为nil,这将自动返回nil。苹果实际上鼓励你以上述方式去做,因为他们想说,“看,不是目标C很酷吗?你不能用其他语言做到这一点。”