データなどを扱いたい場合は配列の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を指定して中身を見る