Я делаю приложение калькулятора фракций из книги «Программирование в Objective-C 2.0». Я использую XCode 4.1 для Lion. Я полностью и успешно без ошибок набрал в коде. Но когда я нажимаю цифровую кнопку во время работы приложения, метка не вводит никакого текста. Когда я нажимаю цифровую кнопку, она должна найти тег отправителей UIButton (который я выделил)
-(IBAction)clickDigit:(UIButton *)sender {
int digit = sender.tag;
[self processDigit:digit];
}
и отправляется на этот код:
-(void)processDigit:(int)digit {
currentNumber = currentNumber * 10 + digit;
[displayString appendString:[NSString stringWithFormat:@"%i", digit]];
display.text = displayString;
NSLog(@"Processed");
}
Консоль печатает Обработано. Указывает, что эта кнопка работает, поэтому проблема заключается в следующей строке кода:
[displayString appendString:[NSString stringWithFormat:@"%i", digit]];
display.text = displayString;
display - это UILabel, это переменная экземпляра, но это не IBOutlet, а объявлено как IBOutlet в своем свойстве.
@property (nonatomic, retain)IBOutlet UILabel *display;
Я подключил метку на экране .xib, используя соединение с помощником по коду. Я могу буквально связать это с декларациями. Поэтому я подключил его к собственности.
Теперь проблема заключается в том, что display - это UILabel, а его текстовое свойство требует NSString, а не NSMutableString, верно? Но NSString не может добавить строку и многие другие методы, которые мне нужны для этого приложения. Как я могу сделать эту работу?