认为不行

时间:2015-04-22 01:43:26

标签: swift

我正在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。不幸的是,代码的第二部分没有执行,我无法弄清楚原因。

1 个答案:

答案 0 :(得分:0)

println("segue check")行仅在IBAction内的代码由事件触发时才会打印。确保IBAction已连接到视图控制器视图中的正确对象。

相关问题