void 函数中的意外非 void 返回值(swift)
Posted
技术标签:
【中文标题】void 函数中的意外非 void 返回值(swift)【英文标题】:unexpected non-void return value in void function (swift) 【发布时间】:2020-08-17 23:36:01 【问题描述】:我从下面的代码中收到以下错误。我不知道如何解决这个错误,也找不到有用的答案。
void 函数中出现意外的非 void 返回值
private func collectionView( _ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath)
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "a11", for: indexPath)
return cell ;
func UICollectionViewCell()
【问题讨论】:
能否请您先查看 Apple 文档developer.apple.com/documentation/uikit/… 【参考方案1】:func collectionView( _ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath)
的函数定义没有定义返回值,但您的函数返回的是 UICollectionViewCell
。这就是问题的原因。此外,您可能也不希望将 cellForItemAt
设为私有方法。您应该将其更新为
func collectionView( _ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "a11", for: indexPath)
return cell ;
【讨论】:
【参考方案2】:您需要添加到您的函数返回值并删除一个私有关键字
func collectionView(_collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell 让单元格 = 集合视图 .dequeueReusableCell(withReuseIdentifier: "a11", for: indexPath)
return cell
删除此代码
func UICollectionViewCell()
检查此 ID“a11”的单元格是否已注册。 (在故事板或代码中,取决于您的实现)。
你能提供错误的文字吗?
【讨论】:
以上是关于void 函数中的意外非 void 返回值(swift)的主要内容,如果未能解决你的问题,请参考以下文章
如何停止返回导致“void函数中出现意外的非void返回值”?
Swift 1.2:void 函数中出现意外的非 void 返回值
新 Swift 类的 void 函数中出现意外的非 void 返回值