И Джейкоб, и teabot указали действительные возможные причины - какая из них правильная (или обе!) Зависит от фрагментов кода, которые мы не видим в вашем посте.
Исходя из того, что вы уже написали, вы можете думать не о newTemp
как о свойстве, а скорее как о вызове функции, поэтому я бы предложил изменить ваш код на:
- (IBAction) setTemp: (id) sender {
int tempInt = [self.sjt newTemp];
self.temp.text = [NSString stringWithFormat:@"%d", tempInt];
}
, что функционально эквивалентно. Обратите внимание, что удобный конструктор stringWithFormat:
возвращает автоматически освобожденный объект, который затем сохраняется свойством retain
text
temp
UILabel
.
Еще одна вещь, которую нужно перепроверить в вашем коде, заключается в том, что self.sjt
- это не nil
, что в точности соответствует словам чайника. Objective-C возвращает 0 при вызовах методов, вызванных по указателю nil
.