避免在每个视图控制器中重复进行相同的调用可以使用以下解决方法:
class BaseViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 在基类视图控制器中执行需要重复调用的代码
}
}
protocol ReusableCode {
func setupView()
}
extension ReusableCode where Self: UIViewController {
func setupView() {
// 需要重复调用的代码
}
}
class ViewController: UIViewController, ReusableCode {
override func viewDidLoad() {
super.viewDidLoad()
setupView() // 调用协议中的方法
}
}
class Singleton {
static let shared = Singleton()
private init() {}
func setupView() {
// 需要重复调用的代码
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
Singleton.shared.setupView() // 调用单例对象中的方法
}
}
无论使用哪种方法,都可以避免在每个视图控制器中重复进行相同的调用,提高代码的复用性和可维护性。