如何使用函数更新label.text? 这是我的代码:
func test() -> String!{
return "2"
}
let label: UILabel = {
let label = UILabel()
label.text = "\(test)"
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
但是当我在应用程序中午餐时,屏幕显示我 this
答案 0 :(得分:0)
您无法在初始化程序中为另一个属性调用实例方法,因为您需要访问self
并且在完全初始化类之前该方法不可用。
您可以通过使label
成为lazy var
来解决此问题,直到第一次访问时才会初始化self.test()
lazy var label: UILabel = {
let label = UILabel()
label.text = self.test()
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
。然后,您可以致电test
来访问您的功能:
static
或者,您可以将MyClass.test()
变为static func test() -> String {
return "2"
}
let label: UILabel = {
let label = UILabel()
label.text = MyClass.test()
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
函数,然后使用[Route("~/Forums/{forum}/{topicName}", Order = 6)]
调用它:
[Route("{forum}/{topicName}", Name = "showTopic", Order = 6)]