首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未调用的UICollectionViewDelegate和UICollectionViewDataSource方法

未调用的UICollectionViewDelegate和UICollectionViewDataSource方法
EN

Stack Overflow用户
提问于 2017-01-21 11:09:45
回答 1查看 616关注 0票数 0

我正在使用UITableViewCell,它的内部有一个UICollectionView。使用这种结构,一切都工作得很好:

代码语言:javascript
复制
class PostCell: UITableViewCell, UICollectionViewDelegate, UICollectionViewDataSource {}

但是,当我开始将UICollectionViewDelegate和UICollectionViewDataSource提取到另一个类时

代码语言:javascript
复制
class PostCell: UITableViewCell {
    @IBOutlet weak var collectionView: UICollectionView!

    public func populate(users: [User]) {
        UsersManager(users: users, collectionView: collectionView)
    }
}
public class UsersManager: NSObject, UICollectionViewDelegate, UICollectionViewDataSource {
    private var users: [User]!
    private var collectionView: UICollectionView!

    init(users: [User], collectionView: UICollectionView) {
        super.init()

        let nib = UINib(nibName: UserCell.IDENTIFIER, bundle:nil)
        collectionView.register(nib, forCellWithReuseIdentifier: UserCell.IDENTIFIER)
        collectionView.delegate = self
        collectionView.dataSource = self

        collectionView.reloadData()
    }
}

不调用委托方法。

代码语言:javascript
复制
collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
numberOfSections(in collectionView: UICollectionView) -> Int

我要把collectionView传给UsersManager()。我两人都打电话:

代码语言:javascript
复制
collectionView.delegate = self
collectionView.dataSource = self 

UsersManager()

你觉得这里有什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-21 12:55:30

代码语言:javascript
复制
class PostCell: UITableViewCell {
    @IBOutlet weak var collectionView: UICollectionView!

    var usersManager:UsersManager?  // add this line.

    public func populate(users: [User]) {
        usersManager = UsersManager(users: users, collectionView: collectionView)
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41778600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档