我有一个UITableView Controller类,它的内部是一个String数组。Table视图有1个单元格原型,并且其中有1个单元格原型的UICollectionView。
通过将数组传递到tableview单元(即UICollectionView委托和DataSource)中来填充CollectionView。
当我对TableViewController内部的数组进行更改并调用self.tableView.reloadData()时,单元格内的CollectionView不会更新。
我该如何解决?
谢谢
编辑:
TableViewController中的代码:
@IBAction func addToArrayAction(sender: AnyObject) {
self.testArray.append("Ant-Man")
self.tableView.reloadData()
}
var testArray = ["Guardinas", "Iron Man", "Avengers", "Captain America"]
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("collectionContainerCell", forIndexPath: indexPath) as! TableViewCell
cell.testArray = self.testArray
return cell
}
UITableViewCell中的代码:
var testArray: [String]?
override func awakeFromNib() {
super.awakeFromNib()
self.collectionView.delegate = self
self.collectionView.dataSource = self
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = self.collectionView.dequeueReusableCellWithReuseIdentifier("collectionViewCell", forIndexPath: indexPath) as! CollectionViewCell
cell.movieTitleLabel.text = self.testArray![indexPath.item]
cell.movieYearLabel.text = "2016"
return cell
}
请尝试调用reloadData
的UICollectionView
对阵列的每个更新。如果你只使用一个单元格中UITableView
,然后就可以在重载cellForRowAtIndexPath
的方法,UITableView
否则你可以可以在调用后调用reloadData
的UITableView
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句