2017-01-13 58 views
0

的ReusableCell重用數據I具有的tableView:不能與的CollectionView

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

     let cell = tableView.dequeueReusableCell(withIdentifier: "cellTime", for: indexPath) as! TimeViewCell 
     let showHour = self.infoWripper.sorted(by: { $0.hour < $1.hour })[indexPath.row] 

     cell.labelTime.text = showHour.showHour() 

     cell.dataForShow = showHour.showFullTime() 


     return cell 
    } 

的TableView中內容UICollectionView與細胞的細胞。

class TimeViewCell: UITableViewCell { 

    @IBOutlet weak var labelTime: UILabel! 

    var dataForShow = [String]() 

    @IBOutlet weak var collectionView: UICollectionView! 

    override func awakeFromNib() { 
     super.awakeFromNib() 

     collectionView.delegate = self 
     collectionView.dataSource = self 

    } 

} 

extension TimeViewCell: UICollectionViewDelegate, UICollectionViewDataSource { 

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 

     return dataForShow.count 
    } 


    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 

     let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionCell", for: indexPath) as! CustomCollectionCell 

     cell.labelCollection.text = dataForShow[indexPath.row] 

     //heightForCell = collectionView.contentSize.height 

     return cell 
    } 

} 

class CustomCollectionCell: UICollectionViewCell { 

    @IBOutlet weak var labelCollection: UILabel! 

} 

當我打開VC與表 - 觀點是好的,但是當我開始滾動 - 我看,這些數據不正確(再利用),但我找不到我的錯誤。 滾動前:

enter image description here

後:

enter image description here

回答

1

您需要重新加載在你的集合視圖。 試試這個:

class TimeViewCell: UITableViewCell { 
    .... 
    var dataForShow = [String]() { 
     didSet { 
      self.collectionView?.reloadData() 
     } 
    } 
+0

是的!非常好的工作,謝謝! –

相關問題