4

を使用している場合@synthesize foo;、次の違いは何ですか:

// message syntax
[myObj setFoo:5];
[myObj foo];

// dot syntax
myObj.foo = 5;
myObj.foo;

ドット構文の一貫性は気に入っていますが、気にする必要があることを行っているかどうかはわかりません。

追加情報は非常に役立ちます。

4

2 に答える 2

12

ドット構文の使用とメッセージ構文の使用に機能上の違いはありません。

メッセージ構文を使用することは、言語全体とより一貫性があり、ドット構文は、それを使用する言語 (Java が思い浮かびます) からやってきたプログラマーの便宜のために実装されたに過ぎないことがわかりました。

私がお願いするのは、どちらを選んでも一貫性があるということだけです。単一のプロパティ セッターを組み合わせて使用​​しないでください。(複数引数セッターは明らかに除外されます)。

于 2010-11-23T19:29:45.977 に答える
3

それらは同じです。

ドット構文は、@property次の方法でもアクセスできる のアクセスを示すために使用されます。

[myObject setValue: [NSNumber numberWithIntValue:5] forKey:@"foo"];
[myObject valueForKey:@"foo"];

しかし、本質的に呼び出しは同じです。

于 2010-11-23T19:30:47.313 に答える