Swift   发布时间:2022-04-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了uitableview – Swift – 什么是向下转型?为什么我需要在tableview中向下转换单元格?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
下面的代码是在UItableview中显示单元格的名称.

override func tableView(tableView: UITableView,cellForRowATindexPath
        indexPath: NSIndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCellWithIdentifier("Cell")
            as UITableViewCell

        cell.textLabel!.text = "Spring \(indexPath.row + 1)"

        return cell
}

一个编译错误,Xcode建议我将’as’更改为’as!’ –

let cell = tableView.dequeueReusableCellWithIdentifier("Cell")
        as! UITableViewCell

可能有人解释了什么是垂头丧气,为什么我们需要在这种情况下垂头丧气?

解决方法

OK ..lets让它变得非常简单.

在线上:

let cell = tableView.dequeueReusableCellWithIdentifier("Cell")

您正在访问tableView的方法dequeueReusableCellWithIdentifier,如果您查看文档,您可以看到返回类型是AnyObject?.

现在假设您要访问textLabel属性

cell.textLabel!.text = "Spring \(indexPath.row + 1)"

你不能这样做.因为AnyObject上没有任何textlabel类型.

因此,您正在向下转发强制编译器更具体的类UITableViewCell,如下所示,因为稍后您尝试访问文本标签属性

let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! UITableViewCell

大佬总结

以上是大佬教程为你收集整理的uitableview – Swift – 什么是向下转型?为什么我需要在tableview中向下转换单元格?全部内容,希望文章能够帮你解决uitableview – Swift – 什么是向下转型?为什么我需要在tableview中向下转换单元格?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。