【发布时间】:2014-08-27 18:35:43
【问题描述】:
我看到一些非常奇怪的行为,我需要一些帮助。 我有一个集合视图单元格,它最初有一个标签,标签为 43。
我正在使用以下代码设置标签的值:
func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {
let object = self.fetchedResultsController.objectAtIndexPath(indexPath) as NSManagedObject
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("playerCell", forIndexPath: indexPath) as UICollectionViewCell
cell.backgroundColor = UIColor.orangeColor()
let mintmplabel : UILabel = cell.viewWithTag(43) as UILabel
mintmplabel.text = "fruktkaka"
//(cell.viewWithTag(43) as UILabel).text = object.valueForKey("playerName").description
//let mintmplabelb : UILabel = cell.viewWithTag(41) as UILabel
//mintmplabelb.text = "megaman"
//(cell.viewWithTag(41) as UILabel).text = object.valueForKey("playerName").description
return cell
}
它按预期工作!但是,我后来尝试向集合视图单元格添加另一个标签,并给它一个标签 41。当我取消注释行时
//let mintmplabelb : UILabel = cell.viewWithTag(41) as UILabel
//mintmplabelb.text = "megaman"
我收到以下错误(在“let”行):
致命错误:在展开可选值时意外发现 nil (lldb)
当前消息显示在源代码中:“Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, sub code =0x0)”
我尝试了许多不同的方法,但我就是无法让它发挥作用。我还尝试删除这两个标签,然后重新添加它们(使用相同的标签)。这会破坏带有标签 43 和 41 的标签!
要么我错过了有关如何使用标签的内容,要么我偶然发现了某种错误。
我正在使用 Xcode 6 beta 5。
任何帮助将不胜感激,我不知道在哪里可以找到更多信息。
谢谢你/马丁
【问题讨论】:
标签: swift uicollectionviewcell viewwithtag