Rya*_*zzo 1 core-location swift swift3
我的 ViewController 看起来像这样:
class ViewController: UIViewController {
... (Optional Variables declared)
var geoLoc: CLLocationCoordinate2D?
override func viewDidLoad() {
... (Optional Variables initialized)
geocoder.geocodeAddressString(addressString) { (placemarks, error) in
self.geoLoc = placemarks?[0].location?.coordinate
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
'self' captured by a closure before all members were initialized
Run Code Online (Sandbox Code Playgroud)
我尝试了许多死胡同的解决方法,但根本找不到问题的原因。有什么建议?
问题是您的类中有一些变量只被声明,但在调用捕获时未初始化,您指的是self.
声明一个变量:var a: Int和初始化它:var a:Int = 0或var a:Int? = nil不一样。
类的所有变量都需要初始化(给定初始值)才能引用self.