多个UIViewController同时工作?
问题描述:
多个UIViewControllers可以同时工作吗?请看下面的窗口:多个UIViewController同时工作?
+-----------------+
| +-----+ |
| | | |
| | A | C |
| | | |
| +-----+ |
| |
| +-----+ |
| | B | |
| +-----+ |
| |
+-----------------+
C
是第一次的UIViewController添加到窗口。
A_ViewController *avc = [[A_ViewController alloc] initWithNibName:@"A_ViewController" bundle:nil];
[self.view addSubview:avc.view];
[avc release];
A_ViewController被加载并正常显示:
在C_ViewController的viewDidLoad中,我通过加入一个NIB(A)。但是,如果连接从A_ViewController.xib到IBOutlet中的A_ViewController.m(如buttonClick)任何情况下,有当事件被触发的错误:
***终止应用程序由于未捕获的异常 “ NSInvalidArgumentException”的,理由是: ' - [NSCFString buttonClicked:]:无法识别 选择发送到实例 0x5937a40'
的问题,是有可能有多个的UIViewController在同一时间工作?在本例中,一个用于C
,一个用于A
,另一个用于B
。
增加:C_ViewController的头文件
@class A_ViewController;
@interface C_ViewController : UIViewController {
A_ViewController *avc;
}
@property (nonatomic, retain) IBOutlet A_ViewController *avc;
@end
SOLUTION:
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];
答
你有没有尝试保留您A_ViewController实例? 我不确定viewcontroller是否被它的视图所保留。
我在问题中添加了头文件。 – ohho 2010-07-08 09:39:26