プライベート変数の@propertiesをメモリ管理の利点のために作成するのは悪いですか?メモリ管理のメリットのためだけにプライベート変数に@propertiesを使用するのは「悪い」ですか?
多くのプライベート変数に対して@propertiesを公開するのは面倒で間違っているようです。
(主に、私はそれぞれの「イベント」メソッドを使用してメモリ不足状態の間にプライベートアイバーズをリリースしています。)
例: 私は通常、民間IVARを解放するために、この操作を行います。
[name release]; name = nil;
しかし@propertiesで、私はこれを行うことができます、その後、私のコードで
self.name = nil;
を、したがって、これを行いますnilに設定する必要があります:パブリックプロパティの場合
if(!name)
name = [[NSString alloc] initWithFormat:@"Hi %@",inputName];
これは素晴らしいですが、ハックのようです。私は自分のコードでこれを行うつもりはないと思っていますが、少なくとも私が今やっていることの代替案があることを知っています。ありがとうございました!! – bentford
ハックではなく、エクステンションと呼ばれるカテゴリの明示的な形式です。。 「クラスが公に宣言されたAPIを持っていて、そのクラスが存在するクラスまたはフレームワークだけが使用するために非公式に宣言された追加のAPIを持つことは一般的です」 –
これは絶対にハックではなく、100%なぜ最初にクラス拡張がその言語に追加されたのか。このパターンを喜んで受け入れる。 – bbum