MapView становится нулевым во время выполнения - PullRequest
0 голосов
/ 13 июля 2020

Я новичок в Xcode, я создаю контроллер mapView для отображения моей карты, и в функции didLoadView это кажется хорошим при компиляции, однако, когда я запускаю приложение, появляется ошибка Thread 1: Fatal error: Неожиданно обнаружен ноль при неявном разворачивании необязательного значения. он говорит, что mapView имеет значение nil

import MapKit

final class MapViewController: UIViewController{
    
    @IBOutlet weak var mapView: MKMapView!
    
    override func viewDidLoad() {
      super.viewDidLoad()
      // Set initial location in ANU
      let initialLocation = CLLocation(latitude: 21.282778, longitude: -157.829444)
      mapView.centerToLocation(initialLocation)
      
      let oahuCenter = CLLocation(latitude: 21.4765, longitude: -157.9647)
      let region = MKCoordinateRegion(
        center: oahuCenter.coordinate,
        latitudinalMeters: 50000,
        longitudinalMeters: 60000)
      mapView.setCameraBoundary(
        MKMapView.CameraBoundary(coordinateRegion: region),
        animated: true)
      
      let zoomRange = MKMapView.CameraZoomRange(maxCenterCoordinateDistance: 200000)
      mapView.setCameraZoomRange(zoomRange, animated: true)
      
      mapView.delegate = self
    }
}

1 Ответ

0 голосов
/ 13 июля 2020
    import MapKit
    
    class ViewController: UIViewController, MKMapViewDelegate {
    
    @IBOutlet weak var mapView: MKMapView! 

    override func viewDidLoad() {
        super.viewDidLoad()
     let initialLocation = MKPointAnnotation()
            initialLocation.coordinate = CLLocationCoordinate2D(latitude: 21.282778, longitude: -157.829444)
            initialLocation.title = "location"
            mapView.addAnnotation(initialLocation)
            
                  let oahuCenter = CLLocation(latitude: 21.4765, longitude: -157.9647)
                  let region = MKCoordinateRegion(
                    center: oahuCenter.coordinate,
                    latitudinalMeters: 50000,
                    longitudinalMeters: 60000)
                  mapView.setCameraBoundary(
                    MKMapView.CameraBoundary(coordinateRegion: region),
                    animated: true)
                  
                  let zoomRange = MKMapView.CameraZoomRange(maxCenterCoordinateDistance: 200000)
                  mapView.setCameraZoomRange(zoomRange, animated: true)
                  mapView.delegate = self
      }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...