【发布时间】:2016-02-22 08:42:23
【问题描述】:
我不认为public init?(coder aDecoder: NSCoder) 中的问号意味着可选。另外,当我覆盖它时,我发现我根本不需要写问号。
那么这到底是什么意思呢?
--- 更新 --
下面的评论帮助我弄清楚了,它被称为“failable initializer”,另一个让这个概念更容易理解的例子是 UIFont 的便利 init,因为 UIFont 可能不存在。
public /*not inherited*/ init?(name fontName: String, size fontSize: CGFloat)
【问题讨论】:
-
我刚刚下载了最新的 2.2 版本,发现它叫做“failable initializer”。 2.1版本不是这个意思。谢谢!