我正在swift制作一个iOS应用程序,我有一个带有单元格的tableView,我想要的是当我点击单元格时转移到另一个视图控制器。这是我的segue源代码块。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "selectedEvent"{
let cellIndex = tableView.indexPathForSelectedRow();
let tempIndex = cellIndex?.row
let name = eventsManager.createdEvents[tempIndex!].name
let address = eventsManager.createdEvents[tempIndex!].address
let latD = eventsManager.createdEvents[tempIndex!].eventLat
let lonD = eventsManager.createdEvents[tempIndex!].eventLon
let coords = CLLocationCoordinate2DMake(latD, lonD)
}
println("segue fired")
}
以下是segue目的地的代码。
@IBAction func showOnMap(segue: UIStoryboardSegue){
println("segue check")
self.performSegueWithIdentifier("selectedEvent", sender: self)
let showEventController = segue.sourceViewController as EventListViewController
let focusAddress = showEventController.address
let position = showEventController.coords
let name = showEventController.name
var marker = GMSMarker(position: position!)
println("is marker working? I hope so")
marker.title = name
marker.map = self.mapView
}
println语句用于检查segue是否正在触发并且第一个语句" segue已触发"在控制台上打印,模拟器中的视图切换到目标viewController。不幸的是,代码的第二部分没有执行,我无法弄清楚原因。
答案 0 :(得分:0)
println("segue check")
行仅在IBAction
内的代码由事件触发时才会打印。确保IBAction
已连接到视图控制器视图中的正确对象。