[iPhone] NSMutableArray の使い方 (Objective-C)

NSMutableArray は NSArray を継承しているのですが、要素数を変更できるので、追加、挿入、削除などのメソッドが使えるようになります。
NSArray で使ったメソッドはそのまま使えます。要素の結合には注意。

sponsored link

NSMutableArray

NSArray は Xcode 4.4 以降書き方が変わったようですが。NSMutable では新しくなったというよりNSArray を作って NSMutableArray を作る方がモダンになったようです。

NSMutableArray *array = [@[@”arr1″, @”arr2″, @”arr3″] mutableCopy];

これは、下のように分解すると分かりやすいでしょう

NSArray *array0 = @[@”arr1″, @”arr2″, @”arr3″];
NSMutableArray *array = [array0 mutableCopy];

参考までに前の書き方は
NSMutableArray *array = [NSMutableArray arrayWithObjects:@”aar1″, @”arr2″, @”arr3″, nil];

 

NSMutableArray のメソッド

NSMutablearray を下のように生成した場合に使えるメソッドの例

NSMutableArray *array = [@[@”arr1″, @”arr2″, @”arr3″] mutableCopy];

指定した要素を削除

[array removeObject:@”arr2″];

array に残っているのは、arr1, arr3 になります

最後の要素を削除

[array removeLastObject];

arr3 が削除され、残っているのは、arr1, arr2 になります

指定したインデックスの要素を削除

[array removeObjectAtIndex:1];

arr2 が削除されて、残っているのは、arr1, arr3 になります

すべての要素を削除

[array removeAllObjects];

array には何もありません

要素を挿入する

[array insertObject:@”arr4″ atIndex:1];

インデックス1の後に arr4 が挿入され
arr1, arr2, arr4, arr3 となる

要素を追加する

[array addObject:@”arr5″];

最後に arr5 が挿入され
arr1, arr2, arr3, arr5 となる

結合する
NSMutableArrayにはarrayByAddingObjectsFromArray:メソッドの他に
addObjectsFromArray:メソッドが使える

NSArray *array3 = [array1 addObjectsFromArray:arry2];

NSMutableArray *array1 =[@[@”abc”, @”bcd”, @”cde”] mutableCopy];
NSMutableArray *array2 =[@[@”xyz”, @”uvw”, @”end”] mutableCopy];

array3 は @”abc”, @”bcd”, @”cde”, “xyz”, @”uvw”, @”end” となります
また array3 は NSArray になることに注意です。

ページのトップへ戻る
 
sponsored link

シェアする

  • このエントリーをはてなブックマークに追加

フォローする