gpt4 book ai didi

swift - 无法访问 uicollectionview 单元格

转载 作者:行者123 更新时间:2023-11-30 13:58:02 26 4
gpt4 key购买 nike

我正在尝试访问 Collection View 中的单元格,然后当用户点击单元格时将字体粗细更改为粗体,但我似乎遇到了一些问题。当尝试访问我的 Collection View 中的网点时,我收到此错误。

fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)

但我似乎不明白这一点,因为单元格的标识符是正确的,类名也是正确的。

处理细胞选择的协议(protocol)

protocol InfiniteCollectionViewDelegate
{
func didSelectCellAtIndexPath(collectionView: UICollectionView, unmodifiedIndexPath: NSIndexPath, usableIndexPath: NSIndexPath)
}

使用协议(protocol)

extension InfiniteCollectionView: UICollectionViewDelegate
{
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
{
infiniteDelegate?.didSelectCellAtIndexPath(self, unmodifiedIndexPath: indexPath, usableIndexPath: NSIndexPath(forRow: getCorrectedIndex(indexPath.row - indexOffset), inSection: 0))
}
}

我设置 Collection View 的方式

func cellForItemAtIndexPath(collectionView: UICollectionView, dequeueIndexPath: NSIndexPath, usableIndexPath: NSIndexPath)  -> UICollectionViewCell
{
let cell = navigationCollectionView.dequeueReusableCellWithReuseIdentifier("newsCell", forIndexPath: dequeueIndexPath) as! newsTypeCell
cell.newsTypeLbl.text = cellItems[usableIndexPath.row]
return cell

}

访问 Collection View 单元导出的操作

func didSelectCellAtIndexPath(collectionView: UICollectionView, unmodifiedIndexPath: NSIndexPath, usableIndexPath: NSIndexPath)
{

navigationCollectionView.scrollToItemAtIndexPath(unmodifiedIndexPath, atScrollPosition: UICollectionViewScrollPosition.CenteredHorizontally, animated: true)

let cell = navigationCollectionView!.cellForItemAtIndexPath(usableIndexPath) as! newsTypeCell

print(cell.newsTypeLbl.text)

}

最佳答案

您可以通过安全地打开单元格来防止崩溃的发生。 newsTypeLbl 带有 if let 语句。

if let label = cell.newsTypeLbl{
label.text = cellItems[usableIndexPath.row]
}

关于swift - 无法访问 uicollectionview 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33354445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com