2

私は別のプログラマーのコードを読んでいたので、これを見つけました:

@property(nonatomic, strong) NSArray *assets;
----
   _assets = [@[] mutableCopy];
    __block NSMutableArray *tmpAssets = [@[] mutableCopy];

何かのトリックですか?なぜ彼は不変配列に mutableCopy を使用したのassetsですか? なぜ彼はそれを次のように作成しないのですか:

self.assets = [NSArray new];
__block NSMutableArray *tmpAssets = [NSMutableArray new];

?

4

1 に答える 1

1

空の可変配列を取得する簡単な方法です。

[NSMutableArray alloc] init]書くコードがわずかに少ない代わりに-

このnew構文は、ほとんどの Objective-C プログラマーによって実際には使用されておらず、他の言語からの新規参入者の便宜のために追加されました。

(不変@[])を作成することに注意してくださいNSArray-のObjective-Cリテラル
ありません。NSMutableArray

于 2015-06-17T08:01:04.087 に答える