gpt4 book ai didi

Objective-C 如何强制子类实现方法?

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

表达这个问题的另一种方式:子类是否有可能成为其父类(super class)的委托(delegate)?我试图让我的代码在我的应用程序中可重用,并且有一种情况是子类需要实现两种方法才能发挥作用。我怎样才能确保发生这种情况?或者定义这些方法的正确方法是什么?

更新

我并不是要暗示我希望编译器生成标志。我只想要一种干净的方式来组织我的代码。目前我覆盖父类(super class)的方法。使用这种方法,父类(super class)可以调用 [super methodToOverride] 并且它可以工作。然而,这对我来说感觉不是很干净,因为除了在某处发表评论之外,没有办法指定“这些是你应该覆盖的方法”。

最佳答案

在 obj-c 中,不可能强制子类覆盖其父类(super class)的方法。但是你可以在父类(super class)中引发异常,如果它被调用是因为子类没有实现某个方法。但是子类可以是它的父类(super class)的委托(delegate),如果父类(super class)没有实现某些方法,你可以强制委托(delegate)实现这些方法,如果父类(super class)指定了协议(protocol),即必需的方法,并且子类采用它。

关于Objective-C 如何强制子类实现方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22463605/

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