以下のように、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);
0 件のコメント:
コメントを投稿