Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用swift的UITabBarController中的MKMapView_Ios_Swift_Uitabbarcontroller_Mkmapview - Fatal编程技术网

Ios 使用swift的UITabBarController中的MKMapView

Ios 使用swift的UITabBarController中的MKMapView,ios,swift,uitabbarcontroller,mkmapview,Ios,Swift,Uitabbarcontroller,Mkmapview,我正在学习使用swift在iOS应用程序的选项卡栏中放置地图。 从“查看控制器”的登录页面开始,然后继续以“选项卡栏控制器”的形式进入主菜单,第一个选项卡是“MapController”下的“MKMapView”主地图 一开始,当我运行应用程序时,它可以正常登录,然后正常显示地图。不幸的是,当我试图控制地图视图(添加注释、设置区域等)时,它总是崩溃(信号SIGABRT)。 这是我在MapController中的代码。swift: import UIKit import MapKit import

我正在学习使用swift在iOS应用程序的选项卡栏中放置地图。
从“查看控制器”的登录页面开始,然后继续以“选项卡栏控制器”的形式进入主菜单,第一个选项卡是“MapController”下的“MKMapView”主地图

一开始,当我运行应用程序时,它可以正常登录,然后正常显示地图。不幸的是,当我试图控制地图视图(添加注释、设置区域等)时,它总是崩溃(信号SIGABRT)。

这是我在MapController中的代码。swift:

import UIKit
import MapKit
import CoreLocation

class MapController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {

@IBOutlet weak var mainMap: MKMapView!

var manager:CLLocationManager!

override func viewDidLoad() {
    super.viewDidLoad()

    manager = CLLocationManager()
    manager.delegate = self
    manager.desiredAccuracy = kCLLocationAccuracyBest
    manager.requestWhenInUseAuthorization()
    manager.startUpdatingLocation()

    var latitude  : CLLocationDegrees = 140.997086
    var longitude : CLLocationDegrees = 43.204067

    var latDelta:CLLocationDegrees = 0.01
    var longDelta:CLLocationDegrees = 0.01

    var homeSpan:MKCoordinateSpan = MKCoordinateSpanMake(latDelta, longDelta)

    var homeLocation:CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitude)

    var theRegion:MKCoordinateRegion = MKCoordinateRegionMake(homeLocation, homeSpan)

    mainMap.setRegion(theRegion, animated: false)

    var annotation = MKPointAnnotation()

    annotation.coordinate = homeLocation

    annotation.title = "test"

    annotation.subtitle = "another test"

    mainMap.addAnnotation(annotation)


}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.

}

}

有人能帮我解决这个问题吗?如果您有其他样品,它也将是非常好的。提前谢谢。

除了纬度和经度值之外,此代码工作正常。

崩溃消息是什么?它在哪一行崩溃?哪一行是崩溃消息?如果我添加mainMap.setRegion,它总是会崩溃。在该行上设置一个断点,并检查
mainMap
在我使用该行上的断点后是否为零,我找不到“mainMap”。您应该能够在调试器控制台中键入“po mainMap”或可能的“po self.mainMap”,并且它应该出现在左下角的变量列表中-您可能需要展开“self”