gpt4 book ai didi

ios - 使用 Swift 为所有 UIViewControllers 实现功能

转载 作者:搜寻专家 更新时间:2023-11-01 07:03:07 24 4
gpt4 key购买 nike

有没有办法为所有 UIViewControllers 实现功能?

我正在尝试为所有 UIViewController 扩展一个特定的行为,这是非常标准的。

例如:

MyBaseClass

class MyBaseClass {
public func load(viewController:UIViewController){
print("The size of the view is \(viewController.view.size.width)")
}
}

我必须在 100 个 UIViewController

中实现类似的行为

最佳答案

一种方法是将协议(protocol)与 UIViewController 的扩展结合使用。

将您的行为定义为协议(protocol)并扩展 UIViewController 以实现它:

protocol WidthProtocol {

func showWidth()

}

extension UIViewController: WidthProtocol {

func showWidth() {
print("The width of the view is \(self.view.frame.size.width)")
}

}

一旦你有了它,你就可以从 UIViewController 的任何子类调用你的函数,例如:

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

// Show the width
showWidth()
}

}

关于ios - 使用 Swift 为所有 UIViewControllers 实现功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49910091/

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