Вызов одного файла класса из другого - PullRequest
0 голосов
/ 20 января 2010

Я новичок в среде разработки iPhone, поэтому будьте осторожны:

В настоящее время пишу игровое приложение для iPhone, которое также будет иметь высокую оценку. Хотелось сделать это представление так, чтобы оно было само по себе, и я мог вызвать его из другого класса (файл .m)

Вопрос в том, как вы называете другой файл класса? Я знаю, что мне нужно включить заголовок из этого файла, но как мне вызвать «функцию / сообщение» из этого класса ... что-то вроде обновления высокой оценки?

Я надеюсь, что это делает посылку. Заранее спасибо за любую помощь.

Geo ...

Ответы [ 4 ]

3 голосов
/ 20 января 2010

Вы действительно должны пройти через вводную документацию на веб-сайте Apple для разработчиков: Цель обучения C: Учебник для начинающих а также Ваше первое приложение для iPhone

0 голосов
/ 20 января 2010

Предпочтительным методом для этого будет делегирование. Так что ваш основной вид делегирует задачу скоринга вашему представлению HighScore.

@protocol myDelegate;


@interface myClass : UIView {
id <myDelegate> delegate;
}

@property (nonatomic, assign) id <myDelegate> delegate;


@end

@protocol myDelegate
- (void)myMethod //Method to be implemented by your High Score View

Для реализации этого протокола в вашем High Score View выполните:

@interface HighScore : UIview <myDelegate>

В вашем HighScore.m реализован метод mymethod:

- (void)myMethod {
//update Score etc...
}

Чтобы вызвать метод из другого представления, выполните:

myHighScoreView.delegate = self // self is your other view
[delegate myMethod] // calls the method in the other view.

Надеюсь, это понятно.

-Oscar

0 голосов
/ 20 января 2010

Не думайте об этом как о вызове функций / методов / процедур / чего бы то ни было. Думайте об этом как об одном объекте, говорящем с другим. Что им нужно для этого? Вам нужна ссылка на объект, с которым вы хотите поговорить.

Часто вам нужно создать переменную экземпляра, которая будет присвоена интересующему вас объекту. Если оба объекта находятся в кончике вместе, вы можете создавать связи между ними в Интерфейсном Разработчике. В противном случае вам нужно будет структурировать ваш код так, чтобы они могли находить друг друга (например, указывать владельцу пера ссылку на любой другой объект, необходимый для связи с представлением).

Возможно, вы захотите попробовать проработать одно из множества учебных пособий (например, на сайте разработчиков Apple), чтобы понять, как это работает.

0 голосов
/ 20 января 2010

Если ваша функция статическая, вызовите ее так:

[ClassName theFunction:parameter];

Если ваша функция является членом класса, создайте экземпляр этого класса и вызовите функцию следующим образом:

ClassName obj = [[ClassName alloc] init];
[obj theFunction:parameter];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...