#objective-c #methods #int
#objective-c #методы #int
Вопрос:
Это может показаться простым, но, пожалуйста, я новичок. У меня есть простая программа, в которой мне нужна помощь в решении этой проблемы. Я хотел бы получить результаты в методе и поместить их в другой файл .m. Вот что у меня есть:
Проверьте recognizer .m ….
-(int)good {
if (fieldGoal == NO amp;amp; fieldGoalPosition == 0) {
return 0;
}
else if (fieldGoal == YES amp;amp; fieldGoalPosition == 1) {
return 1;
}
else if (fieldGoal == NO amp;amp; fieldGoalPosition == 2) {
return 2;
}
...
}
Тогда у меня есть это в моем ViewController .m:
fieldGoal1 = [CheckRecognizer good];
У меня есть #import «CheckRecognizer.h» в моем файле, но он не распознает «хороший» метод. Не могли бы вы, пожалуйста, помочь? Я перепробовал все, например, присвоил имя переменной для доступа в другом файле .m, но безуспешно. Спасибо.
Комментарии:
1. Прежде всего, ваш метод возвращает значения, основанные на некоторых существующих значениях. Являются ли они переменными экземпляра или статическими переменными? Если они являются переменными экземпляра, simple
alloc-init-good
выдаст вам 0 какNO
и0
будут значениями по умолчаниюfieldGoal
иfieldGoalPosition
соответственно.
Ответ №1:
либо создайте хороший метод класса, (int) good { … }
или вызовите good для экземпляра CheckRecognizer , [[[CheckRecognizer alloc] init] good];
Я настоятельно рекомендую вам пройти через http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html .
Ответ №2:
Вы объявили свой метод как метод экземпляра, но вызвали его как метод класса. Вам необходимо создать экземпляр:
CheckRecognizer *recognizer = [CheckRecognizer alloc] init];
И затем используйте его:
int result = [recognizer good];
Вам также следует придумать название метода получше, чем «good».
Ответ №3:
fieldGoal1 = [[[Выделение CheckRecognizer]инициализация]авторелиз] хорошо];
Теперь, если это правильный способ выполнения чего-либо, это совершенно другой вопрос 😉