У меня есть связь с моим лейблом:
@property (weak) IBOutlet NSTextField *scoreBox;
правильно, и я пытаюсь получить к нему доступ так:
void namedfunction(button) {
if (button == button) {
score = score + 100;
[scoreBox setIntValue:score];
// ^ error
}
}
и я получаю эту ошибку:
AppDelegate.m: 52: 10: использование необъявленного идентификатора «ScoreBox»
Что я делаю неправильно?
использование
[_scoreBox setIntValue:score];
Или же
[self.scoreBox setIntValue:score];
*Также убедитесь, что вы сравниваете ту же кнопку, что и: button==button
,
РЕДАКТИРОВАТЬ 2:
Как ваш код:
int perus(int nappi){
}
Измените это на:
- (NSInteger *)perus:(NSInteger *)nappi{
//all should do inside, rest are OK.
}
РЕДАКТИРОВАТЬ:
Я не уверен насчет следующего как нашел это Вот
*Я бы посоветовал вам переключиться на метод obj-c вместо использования функции C для такого рода вещей.
Функция C — это просто блок кода, ни к чему не привязанный
остальное. Ваша переменная экземпляра прикреплена к каждому объекту Controller.
Поэтому, когда вы вызываете printChatter (), нет способа узнать, какой
экземпляр контроллера, который вы хотите использовать. Вы можете добавить объект
переменная для вашей функции:
void namedfunction(const void *button, const void *appDele){
NSTextField *myButton=[appDele scoreBox];
....
}
Других решений пока нет …