0

プロパティを設定するクラスがいくつかあります。

たとえば、MyDetailCellサブクラス化されたというクラスUITableViewCell

その中には、次のようなプロパティがありました...

@property SomeClass *someValue;

最初はそれを使用していて、セッター関数内に格納していました...

- (void)setSomeValue:(SomeClass*)someValue
{
    _somValue = someValue;

    //do something with the _someValue object like changing text or something...
}

とにかく、送信された値を実際に保存する必要はないと判断したので、これを行っていました...

- (void)setSomeValue:(SomeClass*)someValue
{
    //do something with the _someValue object like changing text or something...
}

そして、セッターをサブビューに渡すところに変更しました。このような...

- (void)setSomeValue:(SomeClass*)someValue
{
    self.someSubView.someValue = someValue;
}

だから今、私は何を使うべきかわからない。私は実際にはプロパティをまったく保存していないので、実際には必要ないと思います。値を取得するためにアクセスする必要はありません。設定するだけで済みます。

現時点では、私はそこにある物件をそのまま残しています。

  • それは大丈夫ですか?
  • それは悪い習慣ですか?
  • 代わりにセッターメソッドだけに変更する必要がありますか?
  • そうすることの利点は何ですか?
4

1 に答える 1

1

それは大丈夫ですか?

いいえ。

それは悪い習慣ですか?

はい。

代わりに単なるセッターメソッドに変更する必要がありますか? そうすることの利点は何ですか?

これであなたが何を意味するのかわかりません。あなたは「ただのセッターメソッド」を書き、セッターメソッドでいくつかの処理も行いました。これは問題ありませんが、他のことは間違っていました。1 つは、非デリゲート オブジェクトを保持しないことです。保持する必要があります。ゲッターを提供しません-それも壊れた概念です。読み取り専用および読み取り書き込みのプロパティはありますが、書き込み専用のプロパティはありません。

于 2012-10-04T10:23:44.660 に答える