NSArray 配列


データなどを扱いたい場合は配列のNSArrayクラスをよく使います。
ただこのNSArrayは配列を不変なオブジェクトで一度作ると変更できません。値をなんども変更したい場合は、可変なオブジェクトNSMutableArrayを使います。

生成

arrayWithObjectsを使います。
// 3つのオブジェクトが入った配列を生成
NSArray * titleArray = [NSArray arrayWithObjects:@"hoge", @"huga", [NSNumber numberWithInt:100], nil];
$0 = 0x07144260 <__NSArrayI 0x7144260>(
hoge,
huga,
100
)

配列の要素を取得

objectAtIndexを使って配列の要素を取得します。
NSArray * titleArray = [NSArray arrayWithObjects:@"hoge", @"huga", [NSNumber numberWithInt:100], nil];
// 2番目の要素を取得
NSString * piyo = [titleArray objectAtIndex:1];
NSLog(@"2番目の要素 : %@", piyo);
// 出力結果
2番目の要素 : huga

配列の要素数を取得

countを使います。
NSArray * titleArray = [NSArray arrayWithObjects:@"hoge", @"huga", [NSNumber numberWithInt:100], nil];
// titleArrayの要素数をカウント
NSLog(@"要素数 : %d", [titleArray count]);
// 出力結果
要素数 : 3

NSArrayにfor文でアクセス

配列を定義して出力します。
NSArray *array = [NSArray arrayWithObjects:@"あああ", @"hoge", @"huga", nil];
NSLog(@"%@", array);
// 出力結果
"\U3042\U3042\U3042",
two,
three

NSLogだとうまく表示できませんでした。

ということでfor文を使って中身を見ます
NSArray *array = [NSArray arrayWithObjects:@"あああ", @"hoge", @"huga", nil];
for(int i = 0; i < 3; i++) { NSLog(@"%@", [array objectAtIndex:i]); } // 出力結果
あああ
hoge
huga

[hoge objectAtIndex:huga]みたいな感じでindexを指定して中身を見る

参考:http://iphone-tora.sakura.ne.jp/nsarray.html


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です