gpt4 book ai didi

objective-c - 覆盖父类(super class)中方法的 Objective C 子类

转载 作者:太空狗 更新时间:2023-10-30 03:17:40 26 4
gpt4 key购买 nike

在 Objective C 中,如果你正在对某些东西进行子类化,并计划重写父类(super class)的方法,你是否应该在你的子类 @interface 中重新声明父类(super class)方法?

例如,如果您是 UIViewController(例如 MyViewController)的子类,并且您打算覆盖“viewDidLoad”,您应该在 MyViewController @interface 声明中包含该方法,还是只在 MyViewController.m 中实现它?

在我遇到的示例中,我看到它以两种方式完成(在子类接口(interface)中重新声明方法,或者不重新声明方法)。可能没有任何功能差异,但最佳做法是什么?

最佳答案

我经常在公共(public) header 或至少在私有(private)类别中声明我计划覆盖的方法。这样做的好处是,如果您忘记实际重写该方法,您将收到不完整的类定义警告……这有时会派上用场。

至于何时将它放在公共(public) header 中,这是非常主观的,可能取决于您/您团队的编码风格。如果我打算从根本上改变该方法将要执行的操作,或者如果我不打算调用该方法的父类(super class)版本,我通常只会在公共(public) header 中重新声明该方法。

关于objective-c - 覆盖父类(super class)中方法的 Objective C 子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/770642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com