Возможны ли массивы с плавающей точкой и логические значения? - PullRequest
1 голос
/ 24 июля 2010
NSArray chemConstantArray = [[NSArray alloc] initWithObjects:0.0021400, 0.0012840, 0.0010700, nil];

Дает мне четыре ошибки:

Incompatible type for argument 1 of 'initWithObjects:'

Invalid initializer

Statically allocated instance of Objective-C class 'NSArray' x 2

Это имеет смысл, поскольку плавающие объекты не являются объектами, но как я могу создать массив плавающих объектов? Мне тоже нужен один для BOOL.

Ответы [ 2 ]

6 голосов
/ 24 июля 2010

Если вам нужен массив исключительно в вашем собственном коде, вы можете использовать обычный массив C:

float chemConstantArray[] = {0.0021400, 0.0012840, 0.0010700};

Если вам нужно NSArray* для чего-то, вам нужно поместить каждое значение в NSNumber.

NSArray *chemConstantArray = [[NSArray alloc] initWithObjects:
    [NSNumber numberWithFloat: 0.0021400],
    [NSNumber numberWithFloat: 0.0012840],
    [NSNumber numberWithFloat: 0.0010700],
    nil];

Вы можете использовать numberWithBool аналогично для BOOL.

0 голосов
/ 24 июля 2010

Вы хотите NSNumber, который может содержать числа, числа и т. Д.

...