我是 Swift 的新手,遇到了一个问题。
当我在类中使用 optional let
时,出现错误“Class className has no initializers
”。
但是当我使用 optional var
编写相同的代码时,它没有显示任何错误。
例如:
下面的代码给我错误:Class className has no initializers
class className: UIViewController
{
let nearbyPlaceRadius : Int?
override func viewDidLoad()
{
super.viewDidLoad()
}
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
}
}
下面的代码没有报错。
class className: UIViewController
{
var nearbyPlaceRadius : Int?
override func viewDidLoad()
{
super.viewDidLoad()
}
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
}
}
最佳答案
let nearbyPlaceRadius : Int?
实际上你可以在你的代码中有上面一行并且它没有错。但是如果这样做,您必须编写一个 init
方法并在该方法中设置它的值。
关于ios - Swift 类中的可选 let 和可选 var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36123926/