如何移动到另一个视图控制器?

时间:2015-06-26 20:18:12

标签: ios swift uitableview ios8 segue

我遇到indexPathForSelectedRow()

的问题

我有2个viewcontroller: tableview和视图控制器

我想从tableview转移到另一个控制器

我使用了func prepareForSegue,但我在indexpathselectedrow()

中遇到了问题

这是问题的问题:

  

无法调用没有参数的“indexpathforselectedRow”

Xcode是最后一个版本

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    if segue.identifier == "show"
    {
        let indexpath = tableView.indexPathForSelectedRow()
        let detailvc: fiveViewController = segue.destinationViewController as! fiveViewController

    }

}

3 个答案:

答案 0 :(得分:1)

Swift 1.2 中有indexPathForSelectedRow定义:

- (NSIndexPath *)indexPathForSelectedRow;                                                // returns nil or index path representing section and row of selection.

Swift 2.0

中有定义
var indexPathForSelectedRow: NSIndexPath? { get } // returns nil or index path representing section and row of selection.

在Swift 2.0中,indexPathForSelectedRow是属性而非方法,因此您应该更改:

let indexpath = tableView.indexPathForSelectedRow()

let indexpath = tableView.indexPathForSelectedRow

答案 1 :(得分:0)

听起来没有tableView的引用,或者它不属于UITableView类型。

答案 2 :(得分:0)

override func prepareForSegue(segue: UIStoryboardSegue , sender: AnyObject?) {
    if segue.identifier == "show"
    {
        let indexpath = self.tableView.indexPathsForSelectedRows()!
        let detailv:fiveViewController = segue.destinationViewController as! fiveViewController
        detailv.pic = self.menu[indexpath.row].picName 

    }

pic的这个链接"我的问题"