首页 > 解决方案 > 有没有办法将扩展应用到所有 UIKit 类?

问题描述

我试图找出一种方法来编写与 Kotlin 的apply方法相同的 Swift 等效项。我想我知道我将如何实现它,但想知道是否有捷径可以将它应用到所有或大部分主要的 uikit 类。

基本上,我想要类似的东西:

extension ____ {
    func apply(() -> void) {

    }

    func also(() ->  void) {

    }x
}

可用于所有班级。

标签: iosswift

解决方案


不是所有的 UIKit 类都一步到位,但是你可以通过将它应用到其他人继承的类来稍微简化一些事情。例如,如果你添加一个扩展UIResponder,它会被许多其他类继承,包括UIView继承自它的所有类,以及UIViewController它的所有后代类。真的,这几乎就是屏幕上显示的所有内容。除此之外,如果有意义的话,您可以选择UIImage和之类的类。UIColor


推荐阅读