配列クラスNSArray

 iOSには配列用のクラスNSArrayとNSMutableArrayがあります。NSMutableArrayは配列の要素を追加したり削除したりと動的な操作が可能です。これらのクラスを利用することで配列を簡単に管理することが可能です。

配列の定義

NSArrayを利用するには以下のように配列を定義します。

NSArray *a=@[@1,@2,@3];
NSArray *b=@[@"a",@"b",@"c"];

そして使用するときは

NSLog(@"%d",a[0]);

のように使用します。結果は「1」が表示されます。もし、配列の要素をすべて表示したい場合は

NSLog(@"%@",a);

のようにします。

NSArrayクラスのメソッド

 NSArrayのメソッドについて解説します。

countメソッド-要素数のカウント-

countメソッドでは配列の要素数を表示できます。

NSLog(@"配列数:%d",[a count]);

とすれば「配列数:3」が表示されます。

lastObjectメソッド-最後の要素の取り出し-

最後の要素を取り出すメソッドとしてlastObjectメソッドが用意されています。

NSLog(@"最後の要素:%d",[a lastObject]);

とすれば「最後の要素:3」が表示されます。

indexOfObjectメソッド-要素の検索-

配列の要素からある値を検索するにはindexOfObjectを使用します。

NSArray *a=@[@"A",@"B",@"C"];
NSUInteger i=[a indexOfObject:@"A"];
if(i!=NSNotFound){
  NSLog(@"番号:%d",i);
}else{
  NSLog(@"見つかりません");
}

結果「0」が表示されます。

NSMutableArray特有のメソッド

NSMutableArrayは動的に配列の要素を変更できるクラスです。そのためNSArrayとは別に要素の追加や削除のメソッドが存在します。

addObject,addObjectsFromArrayメソッド-要素の追加-

 addObjectやaddObjectsFromArrayメソッドにより、要素の追加がかのうです。

    NSMutableArray *a=[NSMutableArray array];
    [a addObject:@3];
    [a addObjectsFromArray:@[@4,@5]];
    NSLog(@"%@",a);

「3,4,5」が表示されます。2次元配列もつくれます。

    NSMutableArray *a=[NSMutableArray array];
    [a addObject:@[@1,@2,@3]];
    [a addObject:@[@4,@5,@6]];
    [a addObject:@[@7,@8,@9]];
    NSLog(@"%@",a);

(1,2,3),(4,5,6),(7,8,9)が表示されます。

insertObjectメソッド-要素の挿入-

insertObjectメソッドにより要素を挿入することができます。

    NSMutableArray *a=[NSMutableArray arrayWithArray:@[@1,@3]];
    [a insertObject:@2 atIndex:1];
    NSLog(@"%@",a);

「1,2,3」が表示されます。atIndexで挿入する場所を選択します。

removeObjectメソッド-要素の削除-

 removeObjectは指定した要素を削除し、removeObjectAtIndexは指定した要素番号の要素を削除します。

    NSMutableArray *a=[NSMutableArray arrayWithArray:@[@1,@2,@3]];
    [a removeObjectAtIndex:1];
    NSLog(@"%@",a);
    
    NSMutableArray *b=[NSMutableArray arrayWithArray:@[@"A",@"B",@"C"]];
    [b removeObject:@"A"];
    NSLog(@"%@",b);

「1,3」と「B,C」が表示されます。

著者:安井 真人(やすい まさと)