2012-06-01 3 views
0

Я следую этому руководству Я нашел онлайн о том, как сделать калькулятор в xcode. Я использую версию 3.2.6 Xcode и здесь функция, которая дает мне проблемы:initWithFormat не работает в объекте xcode c

-(IBAction) calculate 
{ 
    float x= ([textField1.text floatValue]); 
    float c= x*([textField2.text floatValue]); 

    label.text = [[NSString alloc] initWithFormat:@"%2.f", c]; 
} 

я получаю эти ошибки компилятора на линии с label.text: Ожидаемые «:» перед «;» токен и путают о более ранних ошибках.

Любые идеи о том, что может быть неправильным? Должен ли я включать специальный файл заголовка для использования initWithFormat? или это синтаксическая ошибка?

+0

В коде, который вы опубликовали, нет синтаксической ошибки. Может ли это быть где-то еще? (Ошибки будут каскадировать код и сделать его похожим на синтаксическую ошибку здесь, когда этого не было.) –

+0

Не вижу в этом ничего плохого. Я предполагаю, что виновник находится в другом месте, и это красная селедка. Чтобы ответить на ваш вопрос напрямую, вам не нужно включать специальный заголовок. – JamesB41

+1

Я бы рекомендовал использовать метод класса: + stringWithFormat: вместо этого: label.text = [NSString stringWithFormat: @ "% 2.f", c]; Используя этот подход, вам не нужно беспокоиться об управлении памятью, так как методы класса автоматически переносят объект на вас. При создании объектов с использованием + alloc и -init вы владеете им и, следовательно, ответственны за его освобождение –

ответ

4

Убедитесь, что у вас нет невидимого персонажа.

У меня часто заканчивается неправильный конец линии. Самый простой способ сказать - поместить курсор на строку и нажать ctrl-a. Если курсор отскакивает до начала предыдущей строки, это неверная строка. Удалите строку и нажмите return.

(В моем случае, это связано с небольшим количеством нейронов в результате установленных связей 20 лет использования Emacs)

+0

Wow я не могу поверить, что это был просто невидимый персонаж, который сошел с ума. Спасибо! – user1431272

+1

Ничего себе, это сумасшедший интуитивный прыжок, bbum. Отлично сработано! –

0

у вас NSLog в label и label.text перед label.text = [[NSString alloc] initWithFormat:@"%2.f", c];? Возможно, что-то не так с вашим label.

Смежные вопросы