objective-c - ViewDidLoad/Unload 消息到 super ?

标签 objective-c cocoa-touch

我注意到来自其他来源的代码,其中作者没有将消息添加到 super,如下所示。我通常会同时添加它们,但我只是很好奇它们的作用,我总是添加它们是否正确?

-(void)viewDidLoad {
    //... other code
    [super viewDidLoad];
}

-(void)viewDidUnload {
    //... other code
    [super viewDidUnload];
}

加里

最佳答案

我建议始终将 UIViewController 委托(delegate)消息发送给 super(例如 viewDidLoadviewDidAppear)。在某些情况下,这是不必要的,例如,如果您直接子类化 UIViewController

一些类,例如UITableViewController,需要子类来实现,如it is documented :“您可以覆盖 loadView 或任何其他父类(super class)方法,但如果您确实要调用该方法的父类(super class)实现,通常作为第一个方法调用。”

super 的调用让父类(super class)有机会处理事件(例如,重新加载表格数据、动画取消选择按钮等)。

不用说,您不需要一个其唯一工作就是调用 super 的显式方法。

关于objective-c - ViewDidLoad/Unload 消息到 super ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2148450/

相关文章:

cocoa-touch - 如何从头开始制作标签栏应用程序

ios - 更改 UITableViewCell 中 UILabel 的背景颜色

ios - 定时器选择器中具有完成功能的函数

objective-c - copyWithZone错误-[DataObject setECGCount:]:无法识别的选择器已发送到实例

ios - NSData 到 NSNumbers 的 NSArray?

ios - 带有图像的 UITableView 在滚动时会暂时显示错误的图像

ios - CIGaussianBlur 有时会改变图像方向

iphone - 如何向 UIImage 或 UIImageView 或 UIView 添加外部发光

ios - Facebook iOS SDK - 在 Graph API v2.4 中获取好友列表

ios - 如果在 iOS 设置中禁用相机,则会在 AVCaptureDeviceInput 处崩溃