-3

重複の可能性:
@property @synthesize

私は2つの方法について少し混乱しています.誰かが私に説明してもらえますか?

-(void)variable; を使用するよりも優れているのはなぜですか。および -(void) 変数{}?

4

2 に答える 2

0

彼らは何をしますか

これらは、それぞれプロパティ アクセサー メソッド (ゲッターとセッター) を宣言および実装します。@property宣言し、@synthesize宣言されたメソッドの自動生成された実装を発行するようにコンパイラに指示します。

-(void)variable; を使用するよりも優れているのはなぜですか。および -(void) 変数{}?

短いため、より簡潔になり、コードが読みやすくなります。また、それら自体にエラーはありません。アクセサ メソッドを大量に記述した場合、最終的には何かを見落としてしまい、不可思議なセグメンテーション エラーがどこから発生したのか、神への愛のために知ることができなかったと確信しています。これは、宣言されたプロパティでは発生しません (したがって、それらは呼び出されます)。

マイナーな警告の 1 つは、古い Objective-C コンパイラは宣言されたプロパティをサポートしていないことです。(その可能性はほとんどありませんが) ある日、古いコンパイラでコードをコンパイルする必要があり、この構文のためにそれが不可能になる場合があります。しかし、繰り返しますが、これが起こる可能性は非常に低いです。

于 2012-11-04T23:18:54.640 に答える
0

単純な標準の getter メソッドと setter メソッドを何度も何度も記述することは、変数の標準の getter/setter メソッドを定義するためのより便利な方法です...そして、プロパティはメモリ管理に簡単な方法を提供します (たとえば、strong、nonatomic など)。

于 2012-11-04T23:18:15.247 に答える