2014-01-17

Objective-C の NSMutableArray の簡単な作り方

Objective-C ではサイズを変更できない配列 (NSArray) と、サイズを変更できる配列 (NSMutableArray) がある。Objective-C の参考書を読むと、Array の作り方として次のようなコードが書いてある。

NSArray* array = [[NSArray alloc] init];
NSMutableArray* mutableArray = [[NSMutableArray alloc] init];

これは本当に初歩的な書き方。Objective-C 2.0 (今の iOS 開発なら、Objective-C 2.0 がデフォールトになってる) なら、もっと簡単な Array の作り方がある。

NSArray* array = @[];

Array は大きさを変えられないので、実際のコードでは次の様にデータを入れて初期化する。

NSArray* array = @[@"foo" @"bar" @"hoge"];

Array はこんなにシンプルな書き方があるのに、MutableArray にはないものか... と諦めていたら、簡単な方法を見つけた。mutableCopy を使う。

NSMutableArray* mutableArray = [@[] mutableCopy];

Array を作って mutableCopy で mutable 化する。なんとシンプルな!!

蛇足ながら初期値を持つ場合のコードは...

NSMutableArray* mutableArray = [@[@"foo" @"bar" @"hoge"] mutableCopy];

NSMutableArray はサイズ 0 のものを作って、アイテムを push していくからあまり使わないけどね。でも、シンプルな NSMutableArray の作り方は覚えておいて損はない。

No comments:

Post a Comment