此类型转换是否分配地址或数据?

时间:2013-05-21 05:44:08

标签: ios objective-c pointers

cell的类型为UITableViewCell*

LocationCell *locationCell = (LocationCell *)cell;

这是否将cell的地址分配给locationCell并保留对象的同一个实例?它会等于LocationCell *locationCell = &cell吗?

1 个答案:

答案 0 :(得分:4)

如果cell已经是LocationCell *类型的变量,那么就不需要演员了。如果cell是另一种类型(例如UITableViewCell *),那么强制转换只做一件事 - 它告诉编译器你知道的更好。您知道该对象实际上是该类型,而不是变量声明所指示的类型。

该值不会以任何方式更改。用你的话说,是的,它保留了对象的同一个实例。这根本不像你的最后一句话。