当前位置: 首页 > 面试题库 >

使用Swift的UICollectionView

张英范
2023-03-14
问题内容

在我的项目中,我在UICollectionViewCell中创建了Cell

由于未捕获的异常,其出现了“错误终止”应用程序

代码如下。

GalleryCell.swift

class GalleryCell: UICollectionViewCell
{


@IBOutlet var titleLabel : UILabel


init(coder aDecoder: NSCoder!)
{
    super.init(coder: aDecoder)
}
}

我在My ViewController中使用了该单元格:

代码如下:

NextViewController.swift

import UIKit

 class NextViewController: UIViewController
 {

@IBOutlet var collectionView : UICollectionView



var ListArray=NSMutableArray()



override func viewDidLoad()
{
    super.viewDidLoad()


    for i in 0..70
    {
         ListArray .addObject("C: \(i)")
    }




}



   func collectionView(collectionView: UICollectionView, numberOfItemsInSection section:Int)->Int
    {
        return ListArray.count
   }


func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath:NSIndexPath)->UICollectionViewCell
{

  var  cell = collectionView.dequeueReusableCellWithReuseIdentifier("CELL", forIndexPath: indexPath) as GalleryCell


    cell.titleLabel.text="\(ListArray.objectAtIndex(indexPath.item))"

    return cell
}


func collectionView(collectionView : UICollectionView,layout collectionViewLayout:UICollectionViewLayout,sizeForItemAtIndexPath indexPath:NSIndexPath) -> CGSize
{

    return CGSizeMake(66, 58)
}



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

}

我的问题是我遇到以下错误:

***** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'could not dequeue a view of kind: UICollectionElementKindCell with identifier CELL - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'*** First throw call stack:**

问题答案:

我加入以下两行NextViewController.swiftviewDidLoad()

var nibName = UINib(nibName: "GalleryCell", bundle:nil)

collectionView.registerNib(nibName, forCellWithReuseIdentifier: "CELL")

问题是我没有注册笔尖。现在我正在这样做,它工作正常。



 类似资料:
  • 问题内容: 我的 TapCell1.swift 这是习惯 我的 ViewController.swift 正确设置了其所有数据源和代理。但是未显示我的自定义单元格。 问题是我的自定义单元格未显示。请提出我做错的任何事情。 注意:这是我的代码 我的文件下载链接 问题答案: 我终于做到了。 对于TapCell1.swift 对于NextViewController.swift 我的工作代码链接:自定义

  • 本文向大家介绍Swift使用Objective-C代码中的Swift类,包括了Swift使用Objective-C代码中的Swift类的使用技巧和注意事项,需要的朋友参考一下 示例 在同一模块中 在名为“ MyModule ”的模块内,Xcode生成一个名为的标头,该标头MyModule-Swift.h将公共Swift类公开给Objective-C。导入此标头以使用Swift类: 相关的构建设置:

  • 问题内容: 我正在尝试跟踪网络状态。我浏览了FXReachability的代码。具体来说有以下方法。 它所做的是不断检查与指定主机的连接。我正在尝试将此方法转换为Swift,但遇到了一些问题。 1.将主机字符串转换为UTF8。 我必须将主机字符串转换为UTF8并将其传递给SCNetworkReachabilityCreateWithName方法。我在Objective- C中找不到与属性完全相同的

  • 问题内容: 在Objective C中很简单:只需更新main.m文件并更改UIApplicationMain()参数即可 但是由于该指南指出,因此没有main.m文件 “在全局范围内编写的代码被用作程序的入口点,因此您不需要主要功能。” 那么,如何快速将UIApplication子类化?有什么建议吗? 问题答案: 注意: 如果您正在寻找以前的语法,请在2019年6月对XCode 10.1和Swi

  • 问题内容: 我正在使用此Gist中的代码来确定我的应用在哪个iOS设备上运行: Swift文档表明C数据类型得到了很好的支持,但是它并没有说明C函数。是否有一种纯粹的Swift方法来检索机器标识符,还是为此我必须桥接到Objective- C中? 问题答案: 您可以在Swift中执行相同的操作(为简便起见,省略了错误检查): Swift 3更新:

  • 在本章中你將了解 Swift 的特性和開發歷史,並對 Swift 有一個初步的了解。