该行有什么用[super loadView]

时间:2011-02-27 12:32:37

标签: objective-c

我只是想知道我是否写作 我一直在使用iPhone技术大约4个月,我在loadView方法中编写的唯一一段代码就是将一些视图(如按钮,标签等)添加到viewController类的当前实例中,这样当我使用它的视图时属性将所有这些视图添加到窗口中。 但真正让我烦恼的那条线是

[super loadView];

我从diff网站了解到的这种方法的用途是“如果我不使用这种方法我的应用程序会崩溃”这不是我正在寻找的原因,所以我做了一个虚拟的概念,这一行可能会给我们一个UIView的黑色实例,然后我们将所有视图

[self.view addSubView:btn];
添加到此行提供给我们的视图中。

所以我想知道的是,我是对还是错,我认为

[super loadView];
行做得更多,任何人都可以给我一个详细的解释或者给我一个链接,我可以在哪里参考这个概念。

2 个答案:

答案 0 :(得分:11)

实际需要视图时,视图控制器会调用

-loadView。如果您手动创建视图而不是IB,则实现它。您有责任确保在此方法完成时视图属性具有分配给它的视图。请勿自行调用[super loadView]或[self loadView]!

官方文档:“此方法的自定义实现不应称为超级。”

http://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/UIViewController/loadView

答案 1 :(得分:-1)

super关键字调用此方法的超类实现。所以你可能是对的钱(我不做Objective-c),这个电话会初始化你展示应用所需的所有东西。