我有这个在我的storyboard
。从视图控制器Swift更新集合视图
视图控制器 - >泰伯维 - >自定义单元格
定制电池具有集合视图中。
在我的ViewController
里面我有一些过滤器按钮,我想过滤集合视图的数组数据并重新加载它。
于是,我就做一个委托方法用下面的代码
protocol ReloadTheDataDelegate: class {
func reloadTheCV()
}
class NearMeViewController: UIViewController {
weak var delegate: ReloadTheDataDelegate?
@IBAction func anAction(_sender : AnyObject){
requests.weekendEventData.sort() { $0.realDate < $1.realDate }
delegate?.reloadTheCV()
}
}
class WeekendTableViewCell: UITableViewCell, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, UICollectionViewDelegate, ReloadTheDataDelegate {
@IBOutlet public weak var weekendCV: UICollectionView!
func reloadTheCV() {
print("done") //never printed
weekendCV.reloadData()
}
override func awakeFromNib() {
super.awakeFromNib()
if let myViewController = parentViewController as? NearMeViewController {
myViewController.delegate = self
}
weekendCV.register(UINib(nibName: "WeekendCollectionViewCell", bundle: nil),
forCellWithReuseIdentifier: "phoneweekendcell")
weekendCV.delegate = self
weekendCV.dataSource = self
}
}
而且我坐的ViewController
extension UIView {
var parentViewController: UIViewController? {
var parentResponder: UIResponder? = self
while parentResponder != nil {
parentResponder = parentResponder!.next
if let viewController = parentResponder as? UIViewController {
return viewController
}
}
return nil
}
}
任何人都可以解释为什么功能reloadTheCV()
是从来没有所谓的延伸?
我在这里很困惑。你为什么在表格视图单元格中有一个集合视图?而且,当你说'ViewController - > Tableview - > Custom cell'时,你的意思是它们彼此重叠,对吗?没有通过segue连接? –
@FangmingNing它就像一个netflix应用程序...是的,它的另一个顶部 –
好的。那么为什么你的单元格内有一个'UICollectionView'?你的过滤器按钮在哪里?我认为你需要的只是过滤按钮被点击时重新加载表格视图,对吧? –