错误“无法在属性初始化程序中使用实例成员'haberUrl'”

时间:2018-01-15 13:01:08

标签: swift url

当我想将字符串更改为URL时,我收到此错误:

  

“无法在属性初始值设定项中使用实例成员'haberUrl';   属性初始化程序在'self'可用之前运行。“

我该怎么办?

var haberUrl = String()
var newsUrl = URL(String: haberUrl) //error in here

2 个答案:

答案 0 :(得分:1)

我可以在这里看到两个错误:

  • haberUrl是一个数组,将其转换为String而不是[String]()
  • 字符串中的URL构造函数是URL(string: String),所以它应该是。{ var newsUrl = URL(string: haberUrl)

答案 1 :(得分:1)

如警告所示,在设置属性时,您无法引用实例中的其他属性 - 对象本身尚未初始化。幸运的是,在这种情况下,您似乎将属性设置为默认值。只需使用文字作为newsUrl所需的值(例如URL(string: http://example.net))。

顺便说一句,假设haberUrl是一个String的数组,这将永远不会有效(URL需要一个字符串)。