2015-03-19 61 views
0

我有第二個控制器的一些問題的tableView使用的tableView在prepareForSegue迅速

第一控制器的代碼:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "DetailSegue" { 
     let detailViewController = segue.destinationViewController as DetailViewController 
     let indexPath = self.liveMatch!.indexPathForSelectedRow()! 
    } 
} 

第二個控制器的代碼:(DetailViewController)

import UIKit 

class DetailViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     // Return the number of rows in the section. 
     return 5 
    } 

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCellWithIdentifier("playersCell", forIndexPath: indexPath) as PlayersTableViewCell 

     cell.playerName.text = "test" 

     return cell 
    } 
} 

以秒控制器表是空的;(我如何修復這個?謝謝你!

回答

1

我認爲您需要遵守UITableViewDataSource協議,並實施numberOfSectionsInTableView方法。

所以添加的協議:
class DetailViewController: UIViewController, UITableViewDataSource {

和方法

func numberOfSectionsInTableView(tableView: UITableView?) -> Int { 
    return 1 
} 
+0

返回錯誤:方法不覆蓋從超類的任何方法 – 2015-03-19 09:56:12

+0

對不起,override關鍵字是沒有必要在這種情況下。只有在使用UITableViewController時纔是必需的。刪除它,它應該工作。 – 2015-03-19 10:07:56

+0

嘗試過。結果沒有改變:返回空列。 – 2015-03-19 10:11:05