几次我必须用类型写一个块() -> Void
或() -> ()
现在,如果该块可为空,则变为(() -> Void)?
这不是很可读。
是否有使用的标准类型,或者我能做的最好的就是创建自定义typealias
?
最佳答案
不幸的是,对于(() -> Void)?
(或很难理解的(() -> ())?
),没有Swift标准类型。如果您查看Swift标准库,还将看到Void
只是一个空元组typealias
的()
:
typealias Void = ()
这意味着您可以编写(Void -> Void)?
,它可能会更容易阅读?尽管在标准库中,但就可读性而言,这已经是他们为标准类型所做的了。除此之外,唯一的方法是使用自定义
typealias
,例如:typealias OptionalEmptyClosure = (() -> ())?