2014-09-22 94 views
0

您好我是新來的迅速和Xcode的6所以我試圖執行SEGUE從細胞跳轉到如下圖所示的viewController另從tableViewCell跳到另一個的viewController: -無法使用賽格瑞

Segue using storyboard

我也試着用下面的代碼編程去 - :

-

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    println("selected row \(indexPath.row)") 
    self.performSegueWithIdentifier("segueCust", sender: self) 
} 

我依然不能夠執行,如果上面的代碼,然後應用程序崩潰與以下錯誤運行

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<swiftDemo.DetailTableViewController: 0x7fdab1606ee0>) has no segue with identifier 'segueCust'' 

不知道爲什麼這個錯誤即將發生,因爲在故事板中我已經爲此segue指定了這個標識符。

此外,下面的segue方法從未被調用過。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) 

我也有添加一個按鈕,並從一個的viewController到另一個那麼它工作正常進行使用故事板SEGUE。 到目前爲止,我可能會失蹤或做一個愚蠢的錯誤。任何幫助,將不勝感激。 在此先感謝。

+0

1.刪除segue並嘗試再次添加。 – Raghav 2014-09-22 12:06:50

+0

@raghav我沒有刪除它並添加了很多次。也試圖從viewController中的按鈕繼續到另一個,並且它在那裏工作得很好,但在單元格內。 – nikhil84 2014-09-22 12:09:46

+0

從外觀上看,一切對我來說都是正確的。當segue連接時,它會隱式調用prepareForSegue,在你的情況下,這不會發生。試驗和錯誤方法檢查原型單元的**連接檢查器窗口**是否提到了segue名稱。 – Raghav 2014-09-22 12:19:12

回答

0

如果您想以編程方式調用segue與self.performSegueWithIdentifier,它需要從視圖控制器本身鏈接。 (這就是你的代碼中的self。)從你的圖像中,你似乎已經將它連接到了單元而不是視圖控制器。

(爲什麼電池連接不會自動工作,我不知道。)

+0

好吧你可能適合自己的一部分,但我能夠理解爲什麼細胞部分不工作,因爲我早些時候已經在iOS 7和Xcode 5以下的版本中完成它,並且更少。 – nikhil84 2014-09-22 12:18:23

+0

您將segue視爲「推送」。導航控制器左側的視圖控制器? – 2014-09-22 12:31:09

+0

推,因爲我有編程方式將tableView添加到navigationController之前呈現tableView從我最初的VC – nikhil84 2014-09-22 12:46:04

0

我把它固定如下: -

//Embedded my tableVC with navigationController and provided that navigationController a storyboard id. 
//Used that navigationController and presented it on my current VC as below. 
var storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
      var vc : UINavigationController = storyboard.instantiateViewControllerWithIdentifier("naviVC") as UINavigationController 

self.presentViewController(vc, animated: true, completion: nil) 

連接。另外我與其他VC的tableView細胞(如圖所示下面),其他部分工作順利。 在下面我提供了導航控制器與故事板ID。

Storyboad screenShot