Цель C Ввод представляет собой число - PullRequest
1 голос
/ 31 июля 2011

Эй, я изучаю Цель C и у меня есть один вопрос. У меня есть одно текстовое поле. На входе должно быть число с этим числом. Я хочу что-то вычислить, но как мне это сделать?

NSNumber *test;

if ([prospekt_1 intValue] == 0) {
    test = [prospekt_1 intValue] * 2.50;
    [ergebnis_prospekt_1 setIntValue:test];
}

Спасибо за вашу помощь. :)

1 Ответ

4 голосов
/ 31 июля 2011

NSNumber test - указатель на объект. Вы присваиваете объект int объекту, по сути делая его указателем на недопустимый адрес памяти.

Вы хотите test = [NSNumber numberWithInt:[prospekt_1 intValue] * 2.50];

Это создает новый объект (NSNumber) и назначает его указателю test.

или

Вы можете полностью пропустить объект NSNumber и просто присвоить значение int напрямую. Зачем тратить память на объект? Int меньше памяти.

Замените NSNumber * на int, и это также будет работать и более эффективно использовать память.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...