したがって、私のObjective Cクラスの1つに、次のような強力なプロパティがあります。
@property(nonatomic, strong) NSMutableArray *tags;
このプロパティを初期化するより良い方法は次のうちどれですか
1self.tags = [[NSMutableArray alloc] init];
また
2self.tags = [NSMutableArray array];
したがって、私のObjective Cクラスの1つに、次のような強力なプロパティがあります。
@property(nonatomic, strong) NSMutableArray *tags;
このプロパティを初期化するより良い方法は次のうちどれですか
1self.tags = [[NSMutableArray alloc] init];
また
2self.tags = [NSMutableArray array];
それはあなたのより良い定義に依存します。まず、メソッド内にいる場合は、メソッドからメソッドを呼び出すべきではないため、割り当てには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;