ios - 有没有办法将扩展应用到所有 UIKit 类?
问题描述
我试图找出一种方法来编写与 Kotlin 的apply和方法相同的 Swift 等效项。我想我知道我将如何实现它,但想知道是否有捷径可以将它应用到所有或大部分主要的 uikit 类。
基本上,我想要类似的东西:
extension ____ {
func apply(() -> void) {
}
func also(() -> void) {
}x
}
可用于所有班级。
解决方案
不是所有的 UIKit 类都一步到位,但是你可以通过将它应用到其他人继承的类来稍微简化一些事情。例如,如果你添加一个扩展UIResponder
,它会被许多其他类继承,包括UIView
继承自它的所有类,以及UIViewController
它的所有后代类。真的,这几乎就是屏幕上显示的所有内容。除此之外,如果有意义的话,您可以选择UIImage
和之类的类。UIColor
推荐阅读
- types - INCLUDE 中的声明在主程序中不被识别
- python - Python -V 在 Windows 10 上不起作用或返回任何错误
- angular - 忽略未捕获的错误错误:服务器提前终止,状态为 3221225477
- c# - 在 Xamarin 的 xmlns 中找不到类型 Ellipse
- apache-flink - 了解 Flink 中 Operator 之间的数据传输(Batch)
- powerbi - 用零替换空白以获得一些意想不到的额外行
- airflow - Pod 启动失败:Pod 启动时间过长,无法运行 KubernetesPodOperator 密码
- python - 在 python 中运行多处理时共享内存全局列表
- javascript - 在 JSP 中使用 Java 读取模型属性值
- css - 当浏览器选项卡暂停时,如何防止 CSS 动画暂停