2015-08-22 170 views
0

我試圖在表格視圖中選擇一個單元格,並且一旦我在導航菜單中單擊「完成」按鈕,我想要println()該行的索引,例如0,1,2等單擊按鈕時獲取表格視圖單元格索引

當你在「完成」按鈕,單擊賽格瑞被觸發,我要趕在prepareForSegue

的價值,我可以得到的指數,當我點擊一個小區中利用:

tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) 

然後裏面那個功能:

performSegueWithIdentifier("mySegue", sender: indexPath) 

但我怎麼可以調整它的工作有:

@IBAction func doneButtonDidTouch(sender: AnyObject) { 
     performSegueWithIdentifier("mySegue", sender: self) 
    } 
+0

如果按下完成並且沒有選擇一行,您想要做什麼? – vacawama

回答

2

的您可以撥打indexPathForSelectedRow得到indexPath在你的按鈕處理程序:

@IBAction func doneButtonDidTouch(sender: AnyObject) { 
    if let indexPath = self.tableView.indexPathForSelectedRow() { 
     performSegueWithIdentifier("mySegue", sender: indexPath) 
    } 
} 

如果沒有所選行在完成按鈕被按下時,將不會有indexPath,並且不會發生。

0

您可以創建一個類寬變量和保存單擊選定單元格的indexpath到它的每一個被選中的單元格的時間。然後通過這個值準備繼續。但是要知道你的傳入視圖控制器需要一個變量來接收你傳遞的值。

所以

var selectedRow 

然後裏面

tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) 

您可以分配變量行號,或者你可能需要從該行通過任何其他值。

selectedRow = indexPath.row 

最後,當您點擊完成按鈕,在賽格瑞您可以使用segue.destinationViewController

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

    if(segue.identifier == "mySegue") { 

     var nextViewController = (segue.destinationViewController as nextViewControllerClass) 
     nextViewController.receivingValueVariable = selectedRow 
    } 
} 

不要忘記分配一個變量來接受你的價值獲取傳入視圖控制器準備通過。

它可以去這樣的事情,詮釋,他的階級您的下一個視圖控制器

class nextViewControllerClass { 

    var receivingValueVariable:Int 
相關問題