2013-12-19 89 views
-1

我想知道什么是在AppDelegate.m方法initWithNibname:(NSString *)nibName中的nibName?什么是和如何获得nibName在“AppDelegate - > rootViewController = initWithNibName(NSString *)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; 
} 

感谢您的关注和帮助!

+0

我想,你的笔尖名称可能是'TontenViewController'。检查笔尖名称的案例感。 – Mani

回答

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

做到这一点在你的appdelegate说关联的名称你有XIB名为TontenViewController.xib那么你可以使用这个代码实例化你的视图控制器

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

initWithNibname是您的XIB的名称。

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

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

参数

nibName

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

nibBundle

在其中搜索笔尖文件束。此方法首先在软件包的语言特定项目目录 中查找 nib文件,然后查找Resources目录。如果此参数为零,则该方法使用以下所述的启发式来查找nib文件。

返回值

甲新初始化的UIViewController对象。

+0

在问这里之前,我在Apple文档中阅读了这几行。不管怎么说,还是要谢谢你 :) – Havengar

0

nibName是笔尖(XIB)文件与视图控制器

您可以通过下面的代码

self.tonten = [[TontenViewController alloc] initWithNibName:@"TontenViewController" bundle:nil]; 
self.window.rootViewController = self.tonten; 
相关问题