6

Objective-Cで浮動小数点数の配列を作成するにはどうすればよいですか? 出来ますか?

4

4 に答える 4

24

使用する言語に応じて、さまざまな方法で動的配列 (サイズはコンパイル時ではなく実行時に決定される) を作成できます。

Objective-C

NSArray *array = [[NSArray alloc] initWithObjects:
    [NSNumber numberWithFloat:1.0f],
    [NSNumber numberWithFloat:2.0f],
    [NSNumber numberWithFloat:3.0f],
    nil];
...
[array release];    // If you aren't using ARC

または、作成後に変更する場合は、次を使用しますNSMutableArray

NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:0];
[array addObject:[NSNumber numberWithFloat:1.0f]];
[array addObject:[NSNumber numberWithFloat:2.0f]];
[array addObject:[NSNumber numberWithFloat:3.0f]];
...
[array replaceObjectAtIndex:1 withObject:[NSNumber numberWithFloat:99.9f]];
...
[array release];    // If you aren't using ARC

または、新しいっぽいObjective-C リテラル構文を使用します。

NSArray *array = @[ @1.0f, @2.0f, @3.0f ];
...
[array release];    // If you aren't using ARC

float *array = (float *)malloc(sizeof(float) * 3);
array[0] = 1.0f;
array[1] = 2.0f;
array[2] = 3.0f;
...
free(array);

C++ / Objective-C++

std::vector<float> array;
array[0] = 1.0f;
array[1] = 2.0f;
array[2] = 3.0f;
于 2012-10-17T09:54:57.603 に答える
3

動的なアプローチでは、NSNumberobject を使用して に追加できNSMutableArrayます。または、静的配列のみが必要な場合は、コメントからの提案を使用するか、 standard を使用しますC

お気に入り:

NSMutableArray *yourArray = [NSMutableArray array];
float yourFloat = 5.55;
NSNumber *yourFloatNumber = [NSNumer numberWithFloat:yourFloat];
[yourArray addObject:yourFloatNumber];

そして取得する:

NSNumber *yourFloatNumber = [yourArray objectAtIndex:0]
float yourFloat = [yourFloatNumber floatValue];
于 2012-10-17T09:54:29.853 に答える
1

Xcode 4.4+ を使用している場合は、これを試すことができます。

NSArray *a = @[ @1.1f, @2.2f, @3.3f];

以下は、LLVM Compiler 4.0 のすべての新しいリテラルです。

于 2012-10-17T10:07:30.973 に答える