目标C:使用括号语法时,表达式不可分配,但在使用点语法时有效

时间:2015-08-15 23:41:15

标签: objective-c

所以,我有以下方法:

- (void)setContainedItem:(BNRItem *)item
{
    _containedItem = item;
    [item container] = self;
}

这会导致错误:表达式不可分配。然而 使用点语法有效:

- (void)setContainedItem:(BNRItem *)item
{
    _containedItem = item;
    item.container = self;
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您无法通过这种方式为方法调用指定值。您需要调用方法并将值作为属性提供。

属性(使用点语法)总是调用相应的getter和setter,其默认名称为' something' (getter)和' setSomething' (设定器。