需要解释在自定义类型上声明属性延迟

时间:2017-08-19 02:58:23

标签: swift

您好,我有一个UIButton,我将其子类化为CustomButton

现在我尝试了另一个文件 private lazy var button = CustomButton() 我收到错误说无法将UIButton类型的值转换为指定类型RoundedButton

但如果我这样做private lazy var button: CustomButton = CustomButton() 有用。我只是需要理解为什么上面的那个不起作用,但底部的那个有效吗?

我已经读过,对于懒惰的用户,你无法推断类型,但private lazy var button = UIButton()有效。

1 个答案:

答案 0 :(得分:0)

我认为问题不在于“私人懒惰”。 您必须使用“按钮:CustomButton ”,因为“另一方面,Swift是静态类型的。意义变量有类型。您不能将任何对象放入变量。编译器将确保你只将兼容的对象放入变量中。“