2015-11-07 50 views
1

我正在做一個正在運行的應用程序,並希望用戶在他們的城市看到比賽/馬拉松。點擊單元格時,用戶將被導航到新的視圖控制器並顯示馬拉松的詳細信息。但是按下後退按鈕返回到表格後,細胞就會重複。例如,如果在表格上滾動,它將顯示單元格1,單元格2,單元格3,單元格4,單元格1,單元格2,單元格3,單元格4,並且每次使用表格導航到視圖控制器時都會重複更多操作。 該表的代碼是:自定義UITableViewCells重複瀏覽到視圖控制器

//MARK: TableView 
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return exhibitions.count 
} 
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let singleCell: marathonTableViewCell = tableView.dequeueReusableCellWithIdentifier("marathonCell") as! marathonTableViewCell 


    singleCell.marathonName.text = exhibitions[indexPath.row] 
    singleCell.entryNumber.text = "\(entryNumber[indexPath.row])" 
    singleCell.entries.text = "\(entires[indexPath.row])" 




    return singleCell 


} 



func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 



    self.performSegueWithIdentifier("marathonDetail", sender: self) 


} 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if(segue.identifier == "marathonCardDetail"){ 

     var upcoming: marathonDetailViewController = segue.destinationViewController as! marathonDetailViewController 

     let indexPath = self.marathonsTableView.indexPathForSelectedRow! 



     let currentCell = marathonsTableView.cellForRowAtIndexPath(indexPath) as! marathonTableViewCell 

     let marathonEvents = currentCell.marathonName.text 


     upcoming.nameMarathon = marathonEvents 

     self.marathonsTableView.deselectRowAtIndexPath(indexPath, animated: true) 




    } 
} 

我使用的快捷,Xcode的7,並解析爲我的後端。

回答

0

我想你必須在更新tableview之前初始化你的數組。

當你點擊返回按鈕時,tableview可能會刷新。

所以做出一些代碼,使烏拉圭回合的數組新的,然後調用tableview.reloadData()

+0

你是什麼意思是「初始化」 – Ace

相關問題