2015-02-24 72 views
0

我是Swift中的新成員。我想知道如何在用戶單擊Table View單元格時調用另一個View Controller。 在此先感謝。如何調用(顯示)在Swift中單擊Table View單元格時的另一個View Controller

+1

顯示我們你試過什麼了? – 2015-02-24 12:38:39

+1

請按照本教程進行操作:http://www.codingexplorer.com/segue-uitableviewcell-taps-swift/ – 2015-02-24 12:47:43

+0

我按住「控制」按鈕並將表格單元拖動到另一個視圖控制器。然後,我選擇「Selection Segue」下的「push」選項。但是當我點擊單元格時出現錯誤。 – 2015-02-24 12:50:54

回答

2

寫入以下代碼:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
self.performSegueWithIdentifier("showItemDetail", sender: tableView)} 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { 
if segue.identifier == "showItemDetail" { 
    let indexPath:NSIndexPath = self.tableView.indexPathForSelectedRow()! 
    let detailVC:ItemDetailViewController = segue.destinationViewController as ItemDetailViewController 
    detailVC.item = items[indexPath.row] as Item 
} 

}

從故事板中添加的viewController和從tableview中小區的SEGUE添加的viewController具有標識符 「showItemDetail」; 將導航太detailViewController

+0

好的,但你能告訴我,「物品」是什麼意思?我得到這樣的錯誤:「使用未解析的標識符'項目'」 – 2015-02-24 13:35:01

2

在第一個視圖控制器

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) 
{ 
    if segue.identifier == "showItemDetail" 
    { 
    let indexPath:NSIndexPath = self.tableView.indexPathForSelectedRow()! 
    let destination = segue.destinationViewController as DetailViewController 
    destination.name = "llkin Elimov" 
} 

在第二個細節視圖控制器

public DetailViewController 
{ 
    var name = "name" as String //After you created the segue in  main.storyboard, in name , you will get your parsed string automatically 

} 

希望我的代碼是明確爲你:)

+0

感謝所有人,但兩個月前我已經解決了這個問題:) – 2015-04-27 09:58:46

+0

好聽。 :) – 2015-04-27 10:30:36

相關問題