我查看了很多问题,但仍然无法理解Big Nerd Ranch中的这种语法。
-(void) setContainedItem:(BNR *)containedItem
{
_containedItem = containedItem;
self.containedItem.container = self;
}
此处为self.containedItem.container = self
,是否意味着
[[self containedItem]container:self]
相当于
[[self setContainedItem]container:self]
我很困惑并试图解决这个问题。 请解释一下。
答案 0 :(得分:2)
这不是一个构造 - 它是两个属性访问。只需从左到右阅读它,每个点都有自己的操作。我们没有为self.containedItem
分配任何内容,因此我们只是获得了它的价值。好的,这是一次操作。然后我们将该操作返回的对象的container
属性设置为self
。所以这大致相当于:
[[self containedItem] setContainer:self]