在我的应用中,"超级"究竟做了什么?

n.e*_*ind 2 iphone cocoa-touch objective-c super

好吧,这将是一个非常令人尴尬的问题,但我在初学者的书中看起来很疯狂(特别是那些通常有用的指数)并且,我没有找到一个脚踏实地的解释'超级'在我的应用.

我在这看看这个,但我担心这远远超出我.任何人都可以提供一个非常简单的解释,说明我的应用程序中有什么"超级",以及为什么我应该成为它的朋友?例如:

- (void)viewDidLoad {
[super viewDidLoad];}
Run Code Online (Sandbox Code Playgroud)

谢谢!!

Gen*_*ari 6

super调用超类的方法实现.因此,如果您的类继承UIViewController,那么[super viewDidLoad];将调用UITableViewController该类的viewDidLoad方法.你通常应该这样做,因为超类可能会做一些需要发生的重要事情.在viewDidLoad的情况下,我不确定它实际上当前做了什么,但它总是可以在框架的未来版本中.

  • 我会说有点相反......如果你知道它的作用,那就不要叫超级实现,并且知道你不希望这种情况发生.否则,您永远不知道超级实现是否正在执行所需的操作. (3认同)