NSNumber, Установка и получение - PullRequest
2 голосов
/ 10 ноября 2009

Я возиться с NSNumber для приложения для iPhone и смотрю, что я могу с ним сделать. Для большинства моих переменных я просто сохраняю их как "int" или "float" или еще что-нибудь. Тем не менее, когда мне нужно передать объект (например, в словаре), тогда я нуждаюсь в них как объект. Я использую NSNUmber. Вот как я инициализирую объект.

NSNumber *testNum = [NSNumber numberWithInt:varMoney];

Где "varMoney" - это int, который я объявил ранее в программе. Тем не менее, я понятия не имею, как вернуть этот номер ...

например:

varMoney2 = [NSNumber retrieve the variable...];

Как мне получить значение обратно из объекта и снова установить его в обычное значение "int"?

Спасибо!

(Из любопытства, есть ли способ сохранить "int" непосредственно в словаре Objective-C, не помещая его в NSNumber первым?)

Ответы [ 2 ]

8 голосов
/ 10 ноября 2009

Вам нужен -intValue или один из его друзей (-floatValue, -doubleValue и т. Д.) Из документов:

intValue Возвращает значение получателя как int.

- (int)intValue

Возвращаемое значение Значение получателя как int, конвертируя его по мере необходимости.

Код будет:

int varMoney2 = [testNum intValue];
3 голосов
/ 10 ноября 2009
NSNumber *testNum = [NSNumber numberWithInt:varMoney];
/* Then later... */
int newVarMoney = [testNum intValue];
...