几次我必须用类型写一个块
() -> Void() -> ()
现在,如果该块可为空,则变为
(() -> Void)?
这不是很可读。

是否有使用的标准类型,或者我能做的最好的就是创建自定义typealias

最佳答案

不幸的是,对于(() -> Void)?(或很难理解的(() -> ())?),没有Swift标准类型。如果您查看Swift标准库,还将看到Void只是一个空元组typealias():

typealias Void = ()
这意味着您可以编写(Void -> Void)?,它可能会更容易阅读?尽管在标准库中,但就可读性而言,这已经是他们为标准类型所做的了。
除此之外,唯一的方法是使用自定义typealias,例如:
typealias OptionalEmptyClosure = (() -> ())?

07-24 09:52
查看更多