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 に答える