2011-01-28 76 views
0

我正在浏览Apple的一些示例代码。以下5个报表不属于“MoveMe的”样本项目MoveMeAppDelegate.m:关于[UIViewController alloc]的问题

UIViewController *aViewController = [[UIViewController alloc] initWithNibName:@"MoveMeView" bundle:[NSBundle mainBundle]]; 

self.viewController = aViewController; 
[aViewController release]; 

UIView *controllersView = [viewController view]; 
[window addSubview:controllersView]; 

从技术文档,@“MoveMeView”定义了厦门国际银行文件的名称。但似乎xib文件可以有多个视图对象。在上面的最后一个语句中,controllersView被添加到窗口对象中。我的问题是如果窗口有多个视图,那么编译器如何知道上面的代码是指哪个视图?

+0

仅供参考,编译器与它无关。这是UIKit运行时。 – 2011-01-28 01:42:43

+0

感谢您的供参考,它有助于... – Stanley 2011-01-28 02:23:38

回答

2

如果您问您的应用程序如何知道哪个视图是控制器视图:在.xib文件中,您将其中一个视图“附加”到控制器。这种关系称为出口,在代码中由实例变量或属性上的IBOutlet标记表示。

欲了解更多信息,请参阅Apple的资源编程指南 - 具体来说,the section标题为“笔尖文件”。

如果您问窗口如何知道哪些视图属于它:iOS上的窗口也是一个视图,并且可以有(几乎)无限数量的子视图。

如果你还有其他问题...我不知道你在问什么,所以请澄清。