Это мой код:Получение местоположения пользователя в быстрой
import Foundation
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate {
let locationManager = CLLocationManager()
@IBOutlet weak var locationLabel: UILabel!
var coord: CLLocationCoordinate2D?
override func viewDidLoad() {
super.viewDidLoad()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestWhenInUseAuthorization()
if CLLocationManager.authorizationStatus() == CLAuthorizationStatus.Authorized {
locationManager.startUpdatingLocation()
println(coord!.longitude)
locationLabel.text = "location found"
}
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
var locationArray = locations as NSArray
var locationObj = locationArray.lastObject as CLLocation
coord = locationObj.coordinate
}
}
}
Этот код не возвращает ничего (он должен напечатать долготу). Который кажется O.K, потому что если я перееду
locationManager.startUpdatingLocation()
println(coord!.longitude)
из, если заявления, Xcode генерирует ошибку времени выполнения и говорит, что неожиданно было обнаружено, в то время как ноль разворачивания необязательного значения. Однако я не понимаю, почему? Системы спрашивают у меня разрешение использовать мое местоположение в порядке.
Спасибо!