有没有办法将扩展应用于所有UIKit类?

时间:2019-01-02 20:42:32

标签: ios swift

我正在尝试找到一种方法来编写与Kotlin的 apply also 方法等效的Swift。我想我知道我将如何实现它,但是想知道是否有将它应用于所有或大多数主要uikit类的捷径。

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

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

    }

    func also(() ->  void) {

    }x
}

可供所有班级使用。

2 个答案:

答案 0 :(得分:2)

并非一步一步地适用于所有UIKit类,但是您可以通过将其应用于其他人继承的类来稍微简化一些事情。例如,如果您向UIResponder添加扩展名,它会被很多其他类继承,包括UIView及其继承的所有内容以及UIViewController及其所有后代类。确实,屏幕上显示的几乎所有内容。除此之外,如果可行,您还可以选择UIImageUIColor之类的课程。

答案 1 :(得分:0)

只需将扩展名应用于NSObject。

https://developer.apple.com/documentation/objectivec/nsobject

不确定是否是每个课程,但要从某个地方开始。