0

我有这段代码:

- (void)setTableView:(UITableView *)tableView {
    tableView = tableView;
}

现在,我明白为什么我会收到警告了。但这不应该解决它吗?

- (void)setTableView:(UITableView *)tableView {
    self->tableView = tableView;
}

我知道我可以更改参数名称或 ivar 名称,但我不想。例如,在 C++ 中,可以使用this->foo = foo,而 java 可以使用this.foo = foo. Python 可以使用self.foo = foo. objc 中的等价物是什么?(不,我不想使用@property's。)

4

1 回答 1

1

问题是参数的名称甚至在赋值的右侧也隐藏了 ivar 的名称。虽然您和我都知道您的意思是将参数的值分配给 ivar,但编译器无法确定,所以它会警告您。

更改参数的名称,警告将消失。

于 2012-06-25T19:02:21.297 回答