未调用 CollectionView 数据源和委托方法
CollectionView datasource and delegate methods not being called
未调用 UICollectionView 的数据源和委托方法。我有
class MessagesViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
@IBOutlet weak var collectionView: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
self.collectionView.dataSource = self
self.collectionView.delegate = self
和函数
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
没有被调用。
由于信誉不佳,我无法发表评论,但我的猜测是您在 viewDidLoad() 方法中设置了数据源和委托。也许通过从 CollectionView 控制拖动到包含它的 ViewController 来挂钩数据源并在情节提要中委托。在 viewDidLoad() 中设置数据源和委托后,您还可以尝试使用 collectionView.reloadData() 重新加载 collectionView 数据。
SWIFT 3 - 在 swift 3 中,委托方法略有改变。由于这些更改,我遇到了同样的问题。请找到正确的委托方法
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
//Do here
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath:IndexPath) -> UICollectionViewCell {
//Do here
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
//Do here
}
未调用 UICollectionView 的数据源和委托方法。我有
class MessagesViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
@IBOutlet weak var collectionView: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
self.collectionView.dataSource = self
self.collectionView.delegate = self
和函数
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
没有被调用。
由于信誉不佳,我无法发表评论,但我的猜测是您在 viewDidLoad() 方法中设置了数据源和委托。也许通过从 CollectionView 控制拖动到包含它的 ViewController 来挂钩数据源并在情节提要中委托。在 viewDidLoad() 中设置数据源和委托后,您还可以尝试使用 collectionView.reloadData() 重新加载 collectionView 数据。
SWIFT 3 - 在 swift 3 中,委托方法略有改变。由于这些更改,我遇到了同样的问题。请找到正确的委托方法
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
//Do here
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath:IndexPath) -> UICollectionViewCell {
//Do here
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
//Do here
}