swift - 需要解释在自定义类型上声明惰性属性

标签 swift

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

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

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

我读过,对于惰性属性,您无法推断类型,但是 private lazy var button = UIButton() 可以。

最佳答案

我相信问题不在于“私有(private)懒惰”。 你必须使用“button:CustomButton”因为“另一方面,Swift 是静态类型的。意思是变量有类型。你不能将任何你想要的对象放入变量中。编译器会确保您只需将兼容的对象放入变量中。”

关于swift - 需要解释在自定义类型上声明惰性属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45767190/

相关文章:

swift - 如何在 Swift 中使用子定义覆盖父类扩展

ios - 单击时更改单元格中的按钮颜色

swift - 当参与者在 iOS 中单击西类牙语网站时应用程序以西类牙语打开

ios - 当 snapshot.exists() 返回 false 时怎么办?

ios - Firestore 文档存在在 iOS Swift 中返回错误结果

ios - SIGBART 错误和回溯未显示任何有用的内容

php - 单击注册按钮时如何使来自服务器的响应自动显示在 TextView (outlet3)上

ios - 当我使用 UITableViewCell 来自定义每个单元格内容时,在 Swift4 中滚动后屏幕布局被破坏

swift - UIScrollView 中的 UIImageView 中的 UIImage 自动放大 - 如何最初查看整个 UIImage?

swift - 在警报中显示警报