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中向下转换单元格?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)