斯威夫特 - UITableViewCell?不能转换为 UITableViewCell
Posted
技术标签:
【中文标题】斯威夫特 - UITableViewCell?不能转换为 UITableViewCell【英文标题】:Swift - UITableViewCell? is not convertible to UITableViewCell 【发布时间】:2016-02-07 20:26:09 【问题描述】:我是 Swift 开发的新手,并且学习了许多在线教程。这些教程中的大多数都引用了 Xcode 上的旧版本,并且代码会导致错误。谁能解释为什么下面的代码会产生“UITableViewCell”?不能转换为 UITableViewCella 以及我如何解决这个问题。
我正在使用 Xcode 7。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCellWithIdentifier("customcell") as UITableViewCell
cell.textLabel?.text = array[indexPath.item]
return cell
【问题讨论】:
谈到“旧版本”,您应该在问题中添加您正在使用的版本。 嗨,我正在使用 xcode 7 @vadian 您的“customcell”是否基于自定义 UITableViewCell 派生类? 【参考方案1】:有两种方法
1)
func dequeueReusableCellWithIdentifier(_ identifier: String) -> UITableViewCell?
它返回一个可选的,所以你必须解开可选的
let cell = tableView.dequeueReusableCellWithIdentifier("custom cell")!
其他方法更好
2)
func dequeueReusableCellWithIdentifier(_ identifier: String,
forIndexPath indexPath: NSIndexPath) -> UITableViewCell
因为它返回一个非可选的
let cell = tableView.dequeueReusableCellWithIdentifier("custom cell", forIndexPath:indexPath)
【讨论】:
【参考方案2】:函数返回 UITableViewCell ,而你返回 UITableViewCell ? 检查细胞类型 如果它的类型为 UITableViewCell? ,你需要返回单元格!
(虽然单元格是可选的,但“!”打开它)
【讨论】:
以上是关于斯威夫特 - UITableViewCell?不能转换为 UITableViewCell的主要内容,如果未能解决你的问题,请参考以下文章
UITableView - UITableViewCell.Style .subtitle - 如何使 UIImageView 循环? - 斯威夫特 5
在 UITableViewCell 内的 uiCollectionViewCell 中显示 Json。斯威夫特 3
如果 TableViewCell 有大量数据要显示,则在 UITableViewCell 中添加自定义按钮的最佳方法。使用斯威夫特
如何在不滚动 textView 的情况下使 UITableViewCell 的高度扩展以适应 UITextView 的内容并包装文本? (斯威夫特 5)