Здравствуйте! Только начинаю изучать Objective C и постигать основы ООП.
Собственно, вопрос:
есть контроллер вида ViewController.
В интерфейсе файла ViewController.h объявлены методы resumeGame и pauseGame:
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIView *viewRocket;
@property (weak, nonatomic) IBOutlet UIView *viewBall;
@property (weak, nonatomic) IBOutlet UIView *viewBucket;
@property (weak, nonatomic) IBOutlet UILabel *viewScore;
- (void)resumeGame;
- (void)pauseGame;
@end
Есть класс AppDelegate, и на события блокировки экрана устройства и разблокировки нужно поставить вызов
pauseGame и
resumeGame из ViewController.
- (void)applicationWillResignActive:(UIApplication *)application
{
//Здесь нужен вызов pauseGame
}
Я импортирую файл #import "ViewController.h", затем в методе applicationWillResignActive пишу вызов [ViewController pauseGame], на что получаю ошибку No known class method for selector "pauseGame".
Пробовал создать экземпляр класса:
ViewController* object = [[ViewController alloc] init];
и вызвать
[object pauseGame];
Так работает: билд компилируется, но некорректно, да и ругается на какой-то BAD_ACCESS (думаю что-то связано с отведением памяти).
Кажется, есть какой-то простой способ и он находится на поверхности, но никак не могу нащупать.
Прошу помощи и, пожалуйста, если можно, опишите подробней как правильно объявить метод в одном классе, как правильно сделать вызов в другом?
P.S. Надеюсь, ничего не напутал в терминологии, только учусь. Извините, если вопрос уже поднимался.