Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 理解Interface Builder中的插座_Iphone_Objective C_Xcode_Cocoa Touch_Interface Builder - Fatal编程技术网

Iphone 理解Interface Builder中的插座

Iphone 理解Interface Builder中的插座,iphone,objective-c,xcode,cocoa-touch,interface-builder,Iphone,Objective C,Xcode,Cocoa Touch,Interface Builder,我正在做一个练习,试图真正理解界面生成器和插座 使用Xcode 4.0,我为基于窗口的应用程序选择了模板。然后我: 进入Interface Builder并添加一个UINavigation控制器 将Windows Outlet RootView控制器设置为导航控制器 转到AppDelegate.h创建名为 导航控制器,并给它一个IBOutlet 转到DidFinishLaunching中的AppDelegate.m,并设置选项 self.window.rootViewController到sel

我正在做一个练习,试图真正理解界面生成器和插座

使用Xcode 4.0,我为基于窗口的应用程序选择了模板。然后我:

  • 进入Interface Builder并添加一个UINavigation控制器

  • 将Windows Outlet RootView控制器设置为导航控制器

  • 转到AppDelegate.h创建名为 导航控制器,并给它一个IBOutlet

  • 转到DidFinishLaunching中的AppDelegate.m,并设置选项 self.window.rootViewController到self.navController

  • 创建名为FirstViewController complete的新UIViewController 使用.xib文件

  • 我的问题是,如何将mainWindow.xib插座中的根视图控制器设置为FirstViewController?但更重要的是,有人能向我解释一下你是如何做到这一点的原因吗

    换句话说,我希望FirstViewController成为用户在我的应用程序中看到的第一个视图控制器。我想确切地了解实现这一点背后的机制

    谢谢你的帮助


    interface bilder的outlets只是程序图形部分和代码之间的链接。换句话说,它们解释了是什么代码控制这个图形对象。你看,objective-c非常面向MVC。xib文件是V(视图)、outlet和您的代码,通过这个outlet链接到.xib的是C(控制器)。M(model)应该在代码中的某个地方

    现在,关于根视图控制器。我更喜欢像下面这样实现它: 将firstViewController导入AppDeledate.h并实现navigationController:

    #import "firstViewController .h"
    @class firstViewController
    ...
    UINavigationController *navigationController;
    ...
    @property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
    

    现在,在interfacebuilder(mainWindow.xib)中,添加navigationController对象并将其与实现的属性链接。然后,在该navigationController中添加一个ViewController对象,选择该ViewController对象并在inspectors中将其类设置为
    firstViewController
    ,并将xib文件设置为
    firstViewController
    。最后,在AppDelegate.m中的
    中,使用选项完成启动,以将
    self.window.rootViewController
    设置为
    self.navigationController
    。就这样

    interface bilder的outlets只是程序图形部分和代码之间的链接。换句话说,它们解释了是什么代码控制这个图形对象。你看,objective-c非常面向MVC。xib文件是V(视图)、outlet和您的代码,通过这个outlet链接到.xib的是C(控制器)。M(model)应该在代码中的某个地方

    现在,关于根视图控制器。我更喜欢像下面这样实现它: 将firstViewController导入AppDeledate.h并实现navigationController:

    #import "firstViewController .h"
    @class firstViewController
    ...
    UINavigationController *navigationController;
    ...
    @property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
    
    现在,在interfacebuilder(mainWindow.xib)中,添加navigationController对象并将其与实现的属性链接。然后,在该navigationController中添加一个ViewController对象,选择该ViewController对象并在inspectors中将其类设置为
    firstViewController
    ,并将xib文件设置为
    firstViewController
    。最后,在AppDelegate.m中的
    中,使用选项完成启动,以将
    self.window.rootViewController
    设置为
    self.navigationController
    。就这样