Ios Swift Cocoa Touch自定义单元格返回IBO零

Ios Swift Cocoa Touch自定义单元格返回IBO零,ios,cocoa-touch,swift,xcode6,Ios,Cocoa Touch,Swift,Xcode6,我正在编写一个应用程序,其中在表视图单元格中有一个水平集合视图 当试图以编程方式设置单元格中的文本时,应用程序崩溃,出现致命错误:在展开可选值时意外发现nil错误消息 对于我和一个更有经验的cocoa touch程序员来说,这表明我的IBOutlets没有正确连接,因此当显式展开时,cell.filmTitle将返回nil。因此,在重新编码IBOutlet并重新连接它们之前,我将所有IBOutlet与cell XIB断开连接,并删除了它们背后的所有代码。但错误仍然存在 自定义单元格的代码为: c

我正在编写一个应用程序,其中在表视图单元格中有一个水平集合视图

当试图以编程方式设置单元格中的文本时,应用程序崩溃,出现
致命错误:在展开可选值时意外发现nil
错误消息

对于我和一个更有经验的cocoa touch程序员来说,这表明我的IBOutlets没有正确连接,因此当显式展开时,
cell.filmTitle
将返回nil。因此,在重新编码IBOutlet并重新连接它们之前,我将所有IBOutlet与cell XIB断开连接,并删除了它们背后的所有代码。但错误仍然存在

自定义单元格的代码为:

class homeWhatsOnCellectionCell: UICollectionViewCell {
    @IBOutlet var filmTitle: UILabel!
    @IBOutlet var filmPoster: UIImageView!
}
集合视图数据源的代码为:

func collectionView(collectionView: UICollectionView!, numberOfItemsInSection section: Int) -> Int {
    return 1
}

func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {
    var cell: homeWhatsOnCellectionCell = collectionView.dequeueReusableCellWithReuseIdentifier("Home Whats On Collection View Cell", forIndexPath: indexPath) as homeWhatsOnCellectionCell
    cell.filmTitle.text = "The Hunger Games: Catching Fire"
    cell.filmPoster.image = UIImage(named: "The Hunger Games.jpg")
    return cell
}

func numberOfSectionsInCollectionView(collectionView: UICollectionView!) -> Int {
    return 1
}
编辑:从与Nate Cook的对话中,我可以说
filmTitle
是问题的原因,尽管它与标签连接正确,但是
nil
。另外,
dump(cell)
将“-”输出到控制台。谢谢任何能帮忙的人


编辑2:通过进一步调查,我发现根本看不到该单元格。当我移除IBOutlets,并试图简单地显示10个细胞,因为它们出现在XIB中,它们根本没有出现,我得到的只是10个相同大小的空白细胞。当滚动条根据显示的单元格数量改变大小和滚动时,它会显示一些单元格。

听起来好像没有加载XIB文件

可以在IB中正确设置,也可以在viewDidLoad中的视图控制器中手动设置

// register table view cell in external XIB file "YourFileName.xib"
tableView.registerNib(UINib(nibName: "YourFileName", bundle: nil), forCellReuseIdentifier: "Home Whats On Collection View Cell")
如果将情节提要与原型单元一起使用,请确保在Interface Builder中设置单元重用标识符


我猜问题的核心是,表视图不知道使用这个重用标识符加载哪个类。不过,如果有一个堆栈跟踪和更多关于这方面的信息就好了。是否将XIB文件与表格视图单元格一起使用?您是否在故事板中使用原型?

退出队列后,
cell
的值是多少?
“集合视图单元格上的主内容”是否真的是重用标识符?@Nate如何找到
单元格的值?运行
println(单元格)
,如果这是您的意思,则打印:
\u ttc21films225homehatsoncellectioncell:0x797d6700;基类=UICollectionViewCell;帧=(0 10;104 160);图层=>
不用担心。你也能对cell.filmTitle进行同样的操作吗?要么是IBOutlet不能正确连接,要么是IB中有一个bug给你带来了麻烦。只是为了验证,您只有一个类型为
HomeWhatsonCelllectionCell
的原型单元格,它具有重用标识符“集合视图单元格上的Home Whats”,并且插座连接到该单元格中的字段?这是我之前提到的问题。我必须删除contactsView.registerClass(ContactCell.self,forCellWithReuseIdentifier:“ContactCell”)