UICollectionView.reloadData()不会触发UICollectionDataSource方法

时间:2016-11-29 10:24:47

标签: ios swift3

这是代码,我为CollectionView设置了DataSource:

override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        collectionView.dataSource = ProductDataSource(products: createAllProductsList())
        collectionView.reloadData()
    }

DataSource类符合UICollectionViewDataSource协议。代码编译没有麻烦。但我看到空集合视图而不是我的5个元素。 ReloadData不会触发DataSource中的方法。

Swift 3,XCode 8

1 个答案:

答案 0 :(得分:0)

在当前类中创建ProductDataSource的实例变量,然后将其设置为将解决问题的数据源。在当前情况下,该对象没有指向它的强指针,因此数据源无效。