为什么viewController的初始化程序没有在其接口文件中声明?

时间:2014-08-21 17:53:21

标签: objective-c cocoa

在Xcode 5中,当我创建一个新的XIB并生成以下文件集时

mainViewController.h
mainViewController.m
mainViewController.xib

mainViewController.m定义了初始化方法:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

但是,此方法未在mainViewController.h

中声明

AppDelegate.m调用此初始值设定项。但AppDelegate.h仅导入mainViewController.h而非mainViewController.m

如果未在接口文件中公开声明此方法,AppDelegate.m如何在不发出警告的情况下调用- (id)initWithNibName

1 个答案:

答案 0 :(得分:1)

由于initWithNibNameUIViewController类继承的mainViewController公开声明{{1}}。