0

Objective-C for iPad, どこに IBOutlet を置いていますか? インスタンス変数宣言か @property 宣言か?違いはありますか?

4

5 に答える 5

5

IBOutletは、ivarのマーカーまたはプロパティ宣言にすることができます。

若干の違いがあります。IBOutletプロパティはアクセスメソッドを経由しますが、IBOutletivarは直接ivarアクセス​​です。

主な違いは、IBOutletプロパティが保持されている場合は、それを解放する必要があるの-deallocに対し、通常はIBOutletivarでは何もする必要がないことです。IBOutletプロパティの利点は、プロパティのすべての便利な機能を利用できることです。

于 2010-04-21T14:24:06.187 に答える
3

通常はプロパティに配置することが推奨されますが、どちらも有効です。

プロパティとの違いは、外部から利用できることと、getter/setter メソッドが使用されることです。
これにより、非アトミックや保持などのプロパティ修飾子も許可され、通常は IBOutlets に設定されます。

于 2010-04-21T14:16:26.420 に答える
2

mmalc (間違いなく評判の良い情報源です) は、現在のベスト プラクティスは @property 宣言に置くことだと述べています。彼は、この質問への回答で詳細を (いくつかの警告と共に) 説明しています。

于 2010-04-21T20:33:44.813 に答える
1

どちらも有効です @property を使用することをお勧めします

于 2010-04-21T15:47:17.667 に答える
0

私は両方を行い、.m ファイルに合成します。両方が不可欠だとは 100% ではありませんが、害はありません。

于 2010-04-21T14:17:22.313 に答える