当我想将字符串更改为URL时,我收到此错误:
“无法在属性初始值设定项中使用实例成员'haberUrl'; 属性初始化程序在'self'可用之前运行。“
我该怎么办?
var haberUrl = String()
var newsUrl = URL(String: haberUrl) //error in here
答案 0 :(得分:1)
我可以在这里看到两个错误:
haberUrl
是一个数组,将其转换为String
而不是[String]()
URL(string: String)
,所以它应该是。{
var newsUrl = URL(string: haberUrl)
答案 1 :(得分:1)
如警告所示,在设置属性时,您无法引用实例中的其他属性 - 对象本身尚未初始化。幸运的是,在这种情况下,您似乎将属性设置为默认值。只需使用文字作为newsUrl
所需的值(例如URL(string: http://example.net)
)。
顺便说一句,假设haberUrl
是一个String
的数组,这将永远不会有效(URL
需要一个字符串)。