Objective-Cの配列

objective-c-array.png

可変長配列 NSMutableArray

NSMutableArray

初期化

NSMutableArray *array=[NSMutableArray array];

NSMutableArrayにC言語の型は入れられない!?

Objectじゃないと入れられないらしい。
ためしにCGPointを入れようとしたら

Sending 'CGPoint' (aka 'struct CGPoint') to parameter of incompatible type 'id'

というエラーになった。
StackOverFlow[1]によると

[mNSMutableArray addObject:[NSValue valueWithCGPoint:mCGPoint]];

とやると解決☆他にも色々なやり方がある
こうして入れたオブジェクトはNSConcreteValueとして入るようだ
でも、NSConcreteValueは見えてはいけないクラスだそうだから、実際に使う時はNSValueとして使う。
for (NSValue* pt in touch_points) {
        CGPoint cgpt;
        [pt getValue:&cgpt];
        NSLog(@"%f,%f",cgpt.x,cgpt.y);
    }

要素数の取得

NSLog(@"個数=%lu",[touch_points count]);

サポートサイト Wikidot.com