恕我直言,当您寻找的解决方案非常简单时,您就使代码复杂化了。
我已经通过使用以下代码来做到这一点:
首先创建
CLLocationManager和请求授权的实例
var locManager = CLLocationManager()locManager.requestWhenInUseAuthorization()
然后检查用户是否允许授权。
var currentLocation: CLLocation!if CLLocationManager.authorizationStatus() == .authorizedWhenInUse || CLLocationManager.authorizationStatus() == .authorizedAlways{ currentLocation = locManager.location }用它来做到这一点
label1.text = "(currentLocation.coordinate.longitude)"label2.text = "(currentLocation.coordinate.latitude)"
您将它们设置为的想法
label.text是正确的,但是我能想到的唯一原因是用户未给予您许可,这就是为什么您当前的位置数据将为零。
但是,您需要调试并告诉我们。另外,
CLLocationManagerDelegate没有必要。
希望这会有所帮助。询问是否有疑问。



