gpt4 book ai didi

ios - 如何一次将更改应用于多个 View Controller ?

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

(例如)一次在多个 View Controller 中包含一行的最佳方法是什么(例如,在每个 VC 中的 ViewDidLoad 下包含一行代码)?

我只是在寻找一种比在 10 个不同的 VC 中复制粘贴更有效的方法

最佳答案

继承将帮助您:

class BaseViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()

// your settings for all view controllers here:
self.view.backgroundColor = UIColor.lightGrayColor()
}
}

class HomeViewController: BaseViewController {
override func viewDidLoad() {
super.viewDidLoad() // call code from BaseViewController.viewDidLoad()
}
}

class ChatViewController: BaseViewController {
override func viewDidLoad() {
super.viewDidLoad() // call code from BaseViewController.viewDidLoad()
}
}

class ProfileViewController: BaseViewController {
override func viewDidLoad() {
super.viewDidLoad() // call code from BaseViewController.viewDidLoad()
}
}

另一种选择是 Swift 扩展:

extension UIViewController {
func configureView() {
self.view.backgroundColor = UIColor.lightGrayColor()
}
}

class HomeViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
configureView()
}
}

class ChatViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
configureView()
}
}

class ProfileViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
configureView()
}
}

更多关于 InheritanceExtensions在 Swift 书中

关于ios - 如何一次将更改应用于多个 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32124364/

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