0

したがって、私のObjective Cクラスの1つに、次のような強力なプロパティがあります。

@property(nonatomic, strong) NSMutableArray     *tags;

このプロパティを初期化するより良い方法は次のうちどれですか

1self.tags = [[NSMutableArray alloc] init];

また

2self.tags = [NSMutableArray array];

4

2 に答える 2

0

それはあなたのより良い定義に依存します。まず、メソッド内にいる場合は、メソッドからメソッドを呼び出すべきではないため、割り当てにはinitまったく使用しないでください。代わりに、インスタンス変数に直接アクセスします。self.tags =init

_tags = ...;

それを行う可能な方法については:

_tags = [[NSMutableArray alloc] init];

は現在、

_tags = [NSMutableArray array];

しかし、より長いです。また、測定していないパフォーマンスの問題を最適化するべきではありません。読みやすさと短いコードが必要な場合は、3 番目のオプションをお勧めします。

_tags = [NSMutableArray new];

実際には、さらに短いコードを使用することもできますが、目を充血させる可能性があります。

_tags = [@[] mutableCopy];

追加トラック: 初期の ARC では、オブジェクト プロパティのデフォルトは でしたが、かなり高速assignに変更されました。strongだから代わりに

@property(nonatomic, strong) NSMutableArray *tags;

あなたはただ使うことができます

@property(nonatomic) NSMutableArray *tags;
于 2013-09-19T13:43:54.143 に答える