Возможно ли одновременное использование нескольких контроллеров UIViewController?Рассмотрим следующее окно:
+-----------------+
| +-----+ |
| | | |
| | A | C |
| | | |
| +-----+ |
| |
| +-----+ |
| | B | |
| +-----+ |
| |
+-----------------+
C
- это первый UIViewController, добавленный в окно.
В viewDidLoad C_ViewController я добавил NIB (A) следующим образом:
A_ViewController *avc = [[A_ViewController alloc] initWithNibName:@"A_ViewController" bundle:nil];
[self.view addSubview:avc.view];
[avc release];
A_ViewController загружен и отображается правильно.Однако при связывании какого-либо события из A_ViewController.xib с IBOutlet в A_ViewController.m (например, buttonClick) возникает ошибка при запуске события:
*** Завершение работы приложения из-за неисследованного исключения'NSInvalidArgumentException', причина: '- [NSCFString buttonClicked:]: нераспознанный селектор, отправленный экземпляру 0x5937a40'
Вопрос, возможно ли одновременное использование нескольких UIViewController?В этом примере один для C
, один для A
и один для B
.
ADDED: файл заголовка C_ViewController
@class A_ViewController;
@interface C_ViewController : UIViewController {
A_ViewController *avc;
}
@property (nonatomic, retain) IBOutlet A_ViewController *avc;
@end
РЕШЕНИЕ:
A_ViewController *a = [[A_ViewController alloc] initWithNibName:@"A_ViewController" bundle:nil];
[self.view addSubview:a.view];
self.avc = a; // added this to fix!! Thanks
[a release];