大佬教程收集整理的这篇文章主要介绍了uitableview – Swift – 什么是向下转型?为什么我需要在tableview中向下转换单元格?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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
可能有人解释了什么是垂头丧气,为什么我们需要在这种情况下垂头丧气?
在线上:
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,请注明来意。