私はこのようなプロパティしている場合:プロパティのメモリ管理がクラス拡張で再定義されていれば変更できますか?
//test.h
@interface test
@property (nonatomic, readonly, weak) NSObject x;
@end
は、読取り/書込みするために実装ファイルで再定義:
// test.m
@interface test()
@property (nonatomic, readwrite) NSObject x;
@end
、私は.hの中で弱い使用されるが、私は拡張子に何も言いませんでしたプロパティは '弱い'指定子を保持するのだろうか、それとも '強い'に変わるだろうか?
プロパティが再定義されたときにstrong/assign/weakキーワードが上書きされますか?
私はよく、クラス拡張のプロパティの 'strong/weak/assign'属性を指定します。読み取り専用の公開宣言では不要です。 – rmaddy
@rmaddy - '.h'で' readonly'を宣言し、 '.m'でクラス拡張の' readwrite、weak'を宣言すると、Xcode 5.1の下で、「クラスプロパティの宣言が暗黙のうちに、 .1。しかし、拡張子に 'strong'や' assign'を含めてもコンパイラの怒りは増えません。それ以降のコンパイラはこれを変更しましたか? – CRD
@CRD Hmmm。私は「弱い」性質でそれをしていないと思う。知っておいてよかった。 – rmaddy