Objective c 为什么需要[super-loadView]或[super-viewDidLoad]?

Objective c 为什么需要[super-loadView]或[super-viewDidLoad]?,objective-c,ios,superclass,Objective C,Ios,Superclass,写入[super-loadView]或[super-viewDidLoad]时会发生什么情况?我试图删除代码,但堆栈溢出并进入无限循环。有人能解释一下为什么需要这样做吗?它从您的超类调用该方法。让我们说它的对象。这些方法的名称说明: loadView是加载视图的NSObject方法,viewDidLoad是处理已加载视图的NSObject方法。。。沿着这些路线 视图控制器“viewDidLoad”和“loadView”中的方法本身没有执行上述操作的代码。。。这只是为了自定义,因为您无法修改原始的

写入[super-loadView]或[super-viewDidLoad]时会发生什么情况?我试图删除代码,但堆栈溢出并进入无限循环。有人能解释一下为什么需要这样做吗?

它从您的超类调用该方法。让我们说它的对象。这些方法的名称说明: loadView是加载视图的NSObject方法,viewDidLoad是处理已加载视图的NSObject方法。。。沿着这些路线 视图控制器“viewDidLoad”和“loadView”中的方法本身没有执行上述操作的代码。。。这只是为了自定义,因为您无法修改原始的.m方法

要查找您的超类,请转到.h文件:

   @interface MyViewController : MySuperClass //thats it!

底层类需要自己做一些簿记,以便在开始将UI放在上面之前做好准备。在Android中,相应的应用程序实际上会故意抛出you NOT-call-super-first异常而崩溃。

首先,当您覆盖
loadView
时,要手动创建自己的视图,您应该而不是调用超类的实现。这是因为您将手动创建一个视图,并使用这些视图而不是由
UIViewController
的实现创建的视图。(请参阅
加载视图


但是当您重写
viewDidLoad
时,您确实应该调用超类的实现。这是因为
UIViewController
viewdiload
实现做了一些内部簿记,因此除了超类所做的工作之外,您还想运行自定义的
viewdiload
代码。

'但是堆栈溢出s'-LOL。这是否符合您的意图?但即使在使用loadView时,我们需要重写超类。您已经提到,我们不需要重写loadView方法。你能解释一下原因吗@yujiHuh??我没有说“我们不需要重写loadView方法。”我是说,如果在子类中实现
loadView
,那么可能不需要调用超类的实现。请阅读我链接到的文档以了解详细信息。