gpt4 book ai didi

swift - 如何在 Swift 中对父类(super class)的父类(super class)进行分类?

转载 作者:行者123 更新时间:2023-11-30 12:27:48 25 4
gpt4 key购买 nike

ArtistVCCategoryVC 的子类它是 BrowserVC 的子类.

大部分ArtistVC的 UITableView 数据源方法最终调用 CategoryVC这些方法的实现 return super.tableView(tableView, cellForRowAt: adjustedIndexPath) (例如),当然,在发生其他一些事情之后,例如修改 indexPath传递给方法。

但有时我真的想绕过CategoryVC的实现和使用BrowserVC的实现。

super.super.someMethod()显然不是答案。这可能吗?

最佳答案

有一种(复杂的)方法可以做到这一点,但它要求中间类“有助于”绕过其覆盖。

例如:

class A 
{
func doIt(_ parameter:Int) { print("A.doIt(\(parameter))") }
}

class B:A
{

override func doIt(_ parameter:Int) { print("B.doIt(\(parameter))") }
var super_doIt:(Int)->() { return super.doIt }
}

class C:B
{
override func doIt(_ parameter:Int)
{ super.super_doIt(parameter) }
}

let c = C()
c.doIt(3) // A.doIt(3)

关于swift - 如何在 Swift 中对父类(super class)的父类(super class)进行分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43958621/

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