(ca88亚洲城手机版下载安装) iOS中的dequeueReusableCellWithIdentifier方法

Swift语言中的UITableView这个类中有一个方法叫做dequeueReusableCellWithIdentifier,我看文档中对其的描述是Returns a reusable table-view cell object located by its identifier,但是其定义函数是:func dequeueReusableCellWithIdentifieridentifier: String -> AnyObject?,说明其返回的是一个AnyObject的optional值

let cell = self.tableView.dequeueReusableCellWithIdentifier”todoCell” as! UITableViewCell

这行代码我如果没理解错的话,是调用了父类中的一个tableView的self.tableView.dequeueReusableCellWithIdentifier方法,返回了一个AnyObject可选值,然后将其向下转型至UITableViewCell,从而让cell这个常量的类型是UITableViewCell而不是一个AnyObject?

请问我的理解正确吗?然后如果这个函数返回的始终是AnyObject?型的话,是不是每次使用的时候都需要向下转型?

另外关于利用as向下转型,是不是其就是把一个变量的类型进行转化?

本来就是以前的编译器
所以很多东西其实还是Objc的
返回是AnyObject也就是任何实例都行 无论什么类型
只要你运行时能跑通 编译时才不管
其实并不能说类型转换 只能说 手工指定类型

发表评论

电子邮件地址不会被公开。 必填项已用*标注