PhoneGap AppDelegate MainViewController

时间:2012-10-16 07:53:32

标签: objective-c ios inheritance cordova

我设置了一个PhoneGap应用程序并挖掘了一些代码。在AppDelegate下面有以下对象:

@property (nonatomic, strong) IBOutlet CDVViewController* viewController;

然而,更进一步的是这一行:

self.viewController = [[MainViewController alloc] init];

该行实际上做了什么,因为viewController是一个CDVViewController对象,但它现在似乎在说,或者至少将它转换为MainViewController对象。

另外MainViewController继承了CDVViewController,所以如果它不像MainViewController那样开始,那么它是什么意思:

 @property (nonatomic, strong) IBOutlet MainViewController* viewController;

1 个答案:

答案 0 :(得分:0)

它不以@property (nonatomic, strong) IBOutlet MainViewController* viewController开头,因此当self.viewController响应消息的选择器时,self.viewController可以是类CDVViewController或MainViewController,具体取决于在运行时响应选择器。

这称为多态性。您可以查看thisthis