是什么以及如何在“AppDelegate - > rootViewController = initWithNibName(NSString *)nibName”中获取nibName

时间:2013-12-19 11:08:05

标签: ios iphone objective-c appdelegate

我想知道AppDelegate.m中方法initWithNibname:(NSString *)nibName中的nibName是什么?

它如何运作?

我需要在ViewController中的方法viewDidLoad中使用rootViewController吗?

 @implementation AppDelegate

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
   self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

   _tonten = [[TontenViewController alloc] init]; 
   //- I'm not sure about this either.

   self.window.rootViewController = [[TontenViewController alloc] initWithNibName:@"tontenViewController" bundle:nil];


  self.window.backgroundColor = [UIColor whiteColor];
  [self.window makeKeyAndVisible];
   return YES;
}

感谢您的关注和帮助!

3 个答案:

答案 0 :(得分:2)

`initWithNibName(NSString*)nibName` in this method nibName is name of your XIB.

假设您有名为TontenViewController.xib的XIB,那么您可以使用此代码实例化您的视图控制器

_tonten = [[TontenViewController alloc] initWithNibName:@"TontenViewController" bundle:nil];

答案 1 :(得分:0)

initWithNibname是您的XIB的名称。

- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle

返回一个新初始化的视图控制器,其中包含指定包中的nib文件。

  

<强>参数

     

nibName

     

要与视图控制器关联的nib文件的名称。该   nib文件名不应包含任何前导路径信息。如果你   指定nil,nibName属性设置为nil。

     

nibBundle

     

要在其中搜索nib文件的包。这个方法寻找   bundle的特定于语言的项目目录中的nib文件   首先,然后是Resources目录。如果此参数为零,   该方法使用下面描述的启发式来定位nib文件。

     

返回值

     

新初始化的UIViewController对象。

答案 2 :(得分:0)

nibName 是要与视图控制器关联的nib(XIB)文件的名称

您可以通过以下代码

在appdelegate中执行此操作
self.tonten = [[TontenViewController alloc] initWithNibName:@"TontenViewController" bundle:nil];
self.window.rootViewController = self.tonten;