Objective-Cの配列で数値を扱う時にはまった
配列の中身が整数の場合、その扱いではまっていたのでメモ。
まず、Objective-Cの場合、配列の中身はオブジェクトでないと扱えない、ということ。
これはNSNumberというラッパークラスを使えばいい、というのはなんとなく(おい、えらく弱気だな)OK。
整数をNSNumber使ってオブジェクト化して、配列に入れていく場合はこんな感じ。
実際に配列の中身を取り出して数値として扱う場合にはまりました。
たいして考えずにNSIntergerでキャストしたつもりが、、、これじゃだめなんですね。
うぬぅ~、配列ごときで手こずるとは、、、
まず、Objective-Cの場合、配列の中身はオブジェクトでないと扱えない、ということ。
これはNSNumberというラッパークラスを使えばいい、というのはなんとなく(おい、えらく弱気だな)OK。
整数をNSNumber使ってオブジェクト化して、配列に入れていく場合はこんな感じ。
NSMutableArray *array = [[NSMutableArray alloc] init]; [array addObject:[NSNumber numberWithInt:2]]; [array addObject:[NSNumber numberWithInt:5]]; [array addObject:[NSNumber numberWithInt:9]];ここまではOK。
実際に配列の中身を取り出して数値として扱う場合にはまりました。
たいして考えずにNSIntergerでキャストしたつもりが、、、これじゃだめなんですね。
NSInteger value; //value = (NSInteger)[array objectAtIndex:2];//間違い! value = [[array objectAtIndex:2] intValue];//こっちが正解上の方だとわけのわかんない数字が表示されます。
うぬぅ~、配列ごときで手こずるとは、、、
<< retainCountの謎 TopPage ローカル変数だとメモリ管理しなくてもOK? >>
トラックバック
トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/405-d2e798ee
http://ringsbell.blog117.fc2.com/tb.php/405-d2e798ee