什么是(例如)同时在多个View Controllers中包含一行的最佳方法(例如,在每个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()
}
}
Run Code Online (Sandbox Code Playgroud)
另一种选择是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()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
542 次 |
| 最近记录: |