проверить, является ли значение целым или двойным в цели c - PullRequest
0 голосов
/ 20 февраля 2010

У меня есть случай, когда я должен получить элементы из массива, и я не знаю, является ли тип двойным или целым.

[массив objectAtIndex: 2]

и проблема в том, что я не могу определить тип. Если бы я знал тип, я бы просто выполнил: [[item objectAtIndex: 2] intValue] или [[item objectAtIndex: 2] doubleValue]

Есть ли способ обнаружить это?

Br, Gzim

Ответы [ 2 ]

2 голосов
/ 20 февраля 2010

См. Документацию для метода -objCType .

По сути, он возвращает строку, описывающую тип, содержащийся в NSNumber. Документация по времени выполнения Objective C содержит больше информации о кодах типов.

Однако , довольно странно иметь дизайн, в котором тип неизвестен. Я бы предложил, что лучшим решением - возможно, интересным вопросом - было бы избежать двусмысленного типа в дизайне вашего приложения.

0 голосов
/ 11 марта 2016

NSString * type = [NSString stringWithUTF8String: [valueInQuestion objCType]];

Это будет равно "d", если оно двойное, и "i", если целое число.

...