Я делаю это приложение, где пользователи могут видеть свое местоположение и местоположение других пользователей. Недавно я только что получил сообщение об ошибке говорящееТема 1: EXC_BAD_INSTRUCTION
Тема 1: EXC_BAD_INSTRUCTION (код = EXC_1386_INVOP, субкодовое = 0x0)
на этой линии:
var lat = locationManager.location?.coordinate.latitude
мне не удалось исправить ,
Что вызывает его и как его исправить?
Для любого, кто мог бы, как остальной код:
import UIKit
import Parse
import CoreLocation
import MapKit
class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {
var myLocation: [CLLocation] = []
@IBOutlet weak var MapView: MKMapView!
@IBOutlet var UsernameTextField: UITextField!
@IBOutlet var PasswordTF: UITextField!
@IBOutlet var EmailTF: UITextField!
var locationManager: CLLocationManager!
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let locationManager = CLLocationManager()
let lat = locationManager.location!.coordinate.latitude
let lon = locationManager.location!.coordinate.longitude
let location = CLLocationCoordinate2D(latitude: lat, longitude: lon)
let span = MKCoordinateSpanMake(0.05, 0.05)
let region = MKCoordinateRegionMake(location, span)
MapView!.setRegion(region, animated: true)
let anotation = MKPointAnnotation()
anotation.coordinate = location
anotation.title = "My tittle"
anotation.subtitle = "My Subtitle"
MapView!.addAnnotation(anotation)
print("Welcome in MapViewController")
}
}
Менеджер местоположений должен быть свойством, а не локальной переменной. – matt
Да, мое плохое. Теперь ошибка переместилась вниз, чтобы разрешить location = CLLocationCoordinate2D (широта: lat !, longitude: lon!) –
Ошибка, вероятно, вызвана принудительным отключением нулевого значения с использованием «!». Вы должны переписать свой код, чтобы избежать использования '!' для принудительного разворота.Переключитесь на необязательное связывание, чтобы определить, где находится неожиданное значение nil. –