gpt4 book ai didi

swift - 如何快速调用 overrideViewDidLoad 中的扩展方法

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

我有以下代码:

extension ViewController {


func AddLeftGesture(){
let SwipeLeft:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(MyDismissOnSwipeLeft))

self.view.addGestureRecognizer(SwipeLeft)
}

func MyDismissOnSwipeLeft(){

self.dismiss(animated: true, completion: nil)
}

我想要完成的是覆盖 viewDidLoad 和调用 AddLeftGesture 方法,这样它就会成为我制作的每个 VC 的一部分而且我不必在每个 viewDidLoad 中一次又一次地输入它,

这可能吗?或者你们还有其他建议吗?

最佳答案

我不认为这是个好主意,因为通常 viewDidLoad 用于设置大多数属性,如果您想在 View Controller 中覆盖它,您应该重新编写它。我可以建议的是,制作一个基础 ViewController 并将此代码添加到 viewDidLoad 中,然后从基础 View Controller 中子类化每个 viewController ,无论何时你想改变这种方式任何你只是调用 super.viewDidLoad

class BaseViewController: UIViewController{

override func viewDidLoad() {
super.viewDidLoad()

addLeftGesture()
}
}


class CustomViewController: BaseViewController{

}

关于swift - 如何快速调用 overrideViewDidLoad 中的扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43505021/

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