2010-01-20 19 views
0

Я новичок в среду разработки iPhone так нежно:Вызов одного файла класс из другого

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

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

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

Geo ...

ответ

0

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

[ClassName theFunction:parameter];

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

ClassName obj = [[ClassName alloc] init]; 
[obj theFunction:parameter]; 
+0

Как правило, вы не хотите создавать экземпляры просмотров во всех отношениях. – Chuck

0

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

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

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

0

Предпочтительной методикой для этого является делегирование. Так что ваш основной вид делегирует задачу подсчета очков вашему представлению 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 

Для реализации данного протокола в высокий балл Вид делать:

@interface HighScore : UIview <myDelegate> 

в вашем HighScore.m реализовать метод MyMethod:

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

Для вызова метода с другого вид do:

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

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

-Oscar

Смежные вопросы