我有一個從表視圖中傳遞位置數據的segue。我需要在這個segue完成之後添加一個map註釋,但是這個map是我的初始VC,所以它在加載時由於缺少數據而崩潰,因爲沒有發生segue。如何檢查是否已完成Swift 3?
我想我需要在if語句中檢查是否發生了segue,或者檢查是否有任何可用的數據可用來包裝以下代碼(在viewDidLoad中)。
let roomPin = MGLPointAnnotation()
roomPin.coordinate = CLLocationCoordinate2D(latitude: room.latitude, longitude: room.longitude)
mapView.addAnnotation(roomPin)
不能完全確定我應該如何檢查是否有任何數據使用。
編輯:
室是裝載有alamofire
class Room {
var roomNumber : String!
var roomName : String!
var latitude : Double!
var longitude : Double!
init(json : JSON) {
roomNumber = json["room_number"].stringValue
roomName = json["room_name"].stringValue
latitude = json["latitude"].double
longitude = json ["longitude"].double
}
的自定義類}
然後被稱爲在tableview中顯示的名稱和數量。當按下時它執行賽格瑞傳遞室對象到我mapVC
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "mapSegue" {
if let destination = segue.destination as? ViewController {
destination.room = sender as! Room
}
}
}
在我地圖視圖控制器我有上面在viewDidLoad中註釋的代碼,與空間被聲明爲:
var room : Room!
不限幫助表示讚賞!
顯示您的代碼。什麼是'房間'?它是如何設置的? – matt