Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift-无法将具有标识符的UICollectionElementKindCell类型的视图出列_Ios_Swift_Uicollectionview_Uicollectionviewcell - Fatal编程技术网

Ios Swift-无法将具有标识符的UICollectionElementKindCell类型的视图出列

Ios Swift-无法将具有标识符的UICollectionElementKindCell类型的视图出列,ios,swift,uicollectionview,uicollectionviewcell,Ios,Swift,Uicollectionview,Uicollectionviewcell,我在尝试加载UICollectionView时收到此错误消息 2015-07-23 16:16:09.754 XXXXX[24780:465607]由于以下原因终止应用程序 未捕获的异常“NSInternalInconsistencyException”,原因:“可能” 不将具有以下类型的视图出列:UICollectionElementKindCell 标识符CollectionViewCell-必须为 标识或连接故事板中的原型单元 第一次抛出调用堆栈: 我的代码 @IBOutlet var c

我在尝试加载UICollectionView时收到此错误消息

2015-07-23 16:16:09.754 XXXXX[24780:465607]由于以下原因终止应用程序 未捕获的异常“NSInternalInconsistencyException”,原因:“可能” 不将具有以下类型的视图出列:UICollectionElementKindCell 标识符CollectionViewCell-必须为 标识或连接故事板中的原型单元

第一次抛出调用堆栈:

我的代码

@IBOutlet var collectionView: UICollectionView!

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
        
        let cell = collectionView.dequeueReusableCellWithReuseIdentifier("CollectionViewCell", forIndexPath: indexPath) as! CollectionViewCell
        
        cell.backgroundColor = UIColor.blackColor()
        cell.textLabel?.text = "\(indexPath.section):\(indexPath.row)"
        cell.imageView?.image = UIImage(named: "category")

        return cell

    }
我已经在storyboard inspector中声明了
CollectionViewCell
,但错误消息仍然出现


查看您的异常后:

2015-07-23 16:16:09.754 XXXXX[24780:465607]*由于以下原因终止应用程序 未捕获的异常“NSInternalInconsistencyException”,原因:“可能” 不将具有以下类型的视图出列:UICollectionElementKindCell 标识符CollectionViewCell-必须为 标识符或连接故事板中的原型单元“*首次抛出 调用堆栈:

最后一部分是最重要的:

必须为应用程序注册nib或类 标识或连接故事板中的原型单元

这意味着您的集合视图没有注册自定义单元格。要解决此问题,请在
视图中添加以下内容:

var nib = UINib(nibName: "UICollectionElementKindCell", bundle:nil)
self.collectionView.registerNib(nib, forCellReuseIdentifier: "CollectionViewCell")
在viewDidLoad()中输入以下代码

collectionView.registerClass(YourCustomCellClass.self, forCellWithReuseIdentifier: "cell")
对于Swift 3:

collectionView.register(YourCustomCellClass.self, forCellWithReuseIdentifier: "cell")

我猜您是单独创建单元格笔尖,而不是在
UICollectionView
中创建。如果是,则需要首先使用
UICollectionView
注册nib文件。使用UINib*cellNib=[UINib-nibWithNibName:@“CollectionViewCell”bundle:nil];[self.collectionView注册表nb:cellNib forCellWithReuseIdentifier:@“CollectionViewCell”];非常感谢。我的问题是,我没有注册我的Nib,而是将类注册为:self.collectionView!。registerClass(customCollectionCell.self,forCellWithReuseIdentifier:“Cell”)您的代码可以正常工作。