2012年9月9日日曜日

NSMutableArrayにint型やfloat型のデータをいれる方法

NSMutableArrayなどの配列にint型やfloat型のデータを入れる方法をメモで。

以下のように、NSMutableArrayなどの配列(NSArrayやNSDictionaryも)に直接データを入れようとするとエラーをはきます。

int i = 10;
float f = 5.5;
NSMutableArray *arr = [[NSMutableArray alloc]init];
[arr addObject:i];  //エラー
[arr addObject:f];  //エラー

データを入れる際は以下のようにNSNumber型に変換し格納すればいいようです。

int i = 10;
float f = 5.5;
NSMutableArray *arr = [[NSMutableArray alloc]init];
[arr addObject:[NSNumber numberWithInteger:i]];  //NSNumber型に変換
[arr addObject:[NSNumber numberWithFloat:f]];  //NSNumber型に変換
NSLog(@"%@", arr);

データを配列から取り出したいときは以下のように行います。

int i_val = [[arr objectAtIndex:0] intValue];
float f_val = [[arr objectAtIndex:1] floatValue];
NSLog(@"%d", i_val);
NSLog(@"%f", f_val);

参考記事

NSArrayやNSDictionaryにintやfloatをいれる方法 - 三浦仮想研究所

0 件のコメント:

コメントを投稿