とについて質問が@[]
あり@{}
ます。
インターネットから取得したいくつかのコード:
self.searches = [@[] mutableCopy];
self.searchResults = [@{} mutableCopy];
@[]
等しい?[NSMutableDictionary dictionary]
_@{}
等しい?[NSMutableArray array]
_
とについて質問が@[]
あり@{}
ます。
インターネットから取得したいくつかのコード:
self.searches = [@[] mutableCopy];
self.searchResults = [@{} mutableCopy];
@[]
等しい?[NSMutableDictionary dictionary]
_@{}
等しい?[NSMutableArray array]
_@[]
に等しい。[NSArray array]
[[NSArray alloc] init]
@{}
に等しい。[NSDictionary dictionary]
[[NSDictionary alloc] init]
(コンテキストと、自動参照カウント (ARC)を使用するかどうかによって異なります)
そういうわけで、[@[] mutableCopy]
時々のようなものを見ます。これにより、空の不変配列が作成され、その可変コピーが作成されます。
[NSMutableDictionary dictionary]
結果は、またはを使用した場合と同じ[[NSMutableDictionary alloc] init]
です。
@{}
に等しい[NSDictionary dictionary]
@[]
に等しい[NSArray array]
そのため[@[] mutableCopy]
、空の不変オブジェクトを作成し、その可変コピーを作成します。効率が悪いとは思えません。
最初の@[]は、配列を作成する省略形です。たとえば、次の 2 つの要素の配列です。
NSArray *array = @[ @"First", @"Second"];
2 番目の@{}は、次のように辞書を作成します。
NSDictionary *dictionary = @{
@"first" : someValue,
@"second" : someValue,
};