ios 8.1:类型“ViewController”不符合协议“UICollectionViewDataSource”

Posted

技术标签:

【中文标题】ios 8.1:类型“ViewController”不符合协议“UICollectionViewDataSource”【英文标题】:ios 8.1: Type 'ViewController' does not conform to protocol 'UICollectionViewDataSource' 【发布时间】:2015-03-14 12:40:08 【问题描述】:

编译 swift 应用程序 (ios 8.1) 时出现以下错误

类型“ViewController”不符合协议“UICollectionViewDataSource”

在“class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate”这一行

我刚刚在这里查看了几篇帖子,但没有人帮助我解决这个问题。

ViewController.swift 文件的代码如下:

import UIKit

class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate 
var tableDescription: [String] = []
var tableNumbers: [String] = []

override func viewDidLoad() 
    super.viewDidLoad()
    self.populateView()


override func didReceiveMemoryWarning() 
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.


func collectionView(collectionView: UICollectionView, numberOfItemInSection section: Int) -> Int
    return tableDescription.count


func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
    let cell: CollViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as CollViewCell
    
    cell.lblDescription.text = tableDescription[indexPath.row]
    cell.lblNumber.text = tableNumbers[indexPath.row]
    
    return cell


func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) 
    println("Cell \(indexPath.row) selected")

 

【问题讨论】:

您使用的是哪个 Xcode 版本?你在最新的 Xcode 中得到了这个吗? 【参考方案1】:

检查代码中的拼写错误,例如 - 使用“numberOfItemsInSection”而不是 numberOfItemInSection。

【讨论】:

以上是关于ios 8.1:类型“ViewController”不符合协议“UICollectionViewDataSource”的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift 从推送通知以编程方式导航到某些 ViewController

在 iPhone 5s iOS 8.1.2 和 Simulator 8.1 上找不到支持 type 4 和 5 的键盘

以编程方式创建 ViewController 时,如何将其视图设置为 SKVIew 类型?

ios 真机测试报错 (系统8.1)

设备令牌未在 ios 8.1 中生成

iOS 8.1 模拟器本地化损坏 (NSLocalizedString)