链接NSManagedObject访问器:这是一种不好的做法吗?

时间:2011-10-13 22:21:10

标签: objective-c core-data

对不起,这有点模糊,但这里有:

我记得曾经读过你不应该执行以下操作来遍历NSManagedObject关系,因为级联最终可能会链接到NIL的一部分:

  

self.roomItemInstance.roomInstance.report

我发现由于删除操作等原因,链接的某些部分确实可以设置为NIL,这会导致我的代码中出现细微的问题。

我想知道的是,我认为这是不好的做法是对的,如果是这样的话,你建议用什么而不是菊花链?

提前致谢

2 个答案:

答案 0 :(得分:1)

就我所知,这是一种完全可以接受的遍历NSManagedObjects属性的方法。我相信Apple实际上建议使用这些访问器(无论是虚线,如你所示,还是括号[[object property] property]),而不是访问属性/属性时的典型替代'getValue forKey'。

答案 1 :(得分:0)

我相信没关系,因为Objective C nil对象能够响应选择器。如果链中的任何关系返回nil,则将为其余关系发送getter选择器为nil,这将自动返回nil。苹果实际上鼓励你以上述方式去做,因为他们想说,“看,不是目标C很酷吗?你不能用其他语言做到这一点。”