Swift3 iOS - 如何在按下单元格之前从TableView获取所有IndexPath的数据

时间:2017-07-19 21:28:45

标签: ios swift uitableview uicollectionview nsindexpath

collectionView inside tableView

我遵循了Ash Furrows教程collectionView inside tableView

我有TableItem类,它有一个name属性和一个URL数组。我有一个tableView,里面有collectionView。

我垂直填充我的tableview,其中有任意数量的TableItem可用,并且我使用TableItem类中的数组内的大量url水平填充我的collectionView。

我不关心按表格单元格然后获取信息,我希望数据在两个集合中同时显示。

如何拉取TableItem数据并在tableView的同时将其显示在collectionView中?

class TableItem{
  var name: String?
  var urlsForCollection: [URl] = []
}

var tableItems = [TableItem]()

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return tableItems.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "TableCell", for: indexPath) as! TableCell

     cell.textLabel.text = tableItems[indexPath.row].name

     return cell
}


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

     //how do I return the urlsForCollection.count from each TableItem in tableItems
}


func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
     let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionCell", for: indexPath) as! CollectionCell

     //how can I access the urlsForCollection for each TableItem in tableItems
     for url in urlsForCollection{
          imageView.sd_setImage(with: url!)
     }

     return cell

 }

1 个答案:

答案 0 :(得分:0)

像这样:

let tableItem = tableItems[indexPath.row] as! TableItem
for url in tableItem.urlsForCollection{
      imageView.sd_setImage(with: url!)
 }

应该工作。