9

うんざりするように、インスタント変数 (iVar) を宣言してから、インターフェイス .h ファイルで @property をしばらく宣言していました。

@interface MainGameViewController : UIViewController {
     UserFactorsViewController *userFactorsViewController;
     UITableView *myTableView;
}
@property (nonatomic, retain) UserFactorsViewController *userFactorsViewController;
@property (nonatomic, retain) IBOutlet UITableView *myTableView;

自動参照カウントでは、iVar を省略してすべて @property にする必要がありますか? プロパティに「保持」という言葉を使用する必要がありますか?iOS 4.3 用に展開している場合、引き続き ARC を使用する必要がありますか?

4

1 に答える 1

10

ivar を含めなくてもコンパイラが ivar を追加してくれますが、コードを読みやすくするために (多くの本の著者も同様に) 多くの人が ivar を宣言しています (読みやすくします)。 ivar とプロパティを区別します)。

現在、プロパティを作成する場合、Apple は、オブジェクト グラフの観点から考えてほしいと考えているため、retain と release ではなく、"strong" と "weak" プロパティ属性について調査してください。

また、iOS 4 は ARC のターゲットとしてセットアップされているので、問題ないはずです。しかし、iOS 3.0 をサポートしたい場合は、以前のように保持とリリースを手動で管理する必要があると思います。

于 2011-08-23T16:40:36.303 に答える