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