有人可以解释一下这个Objective-C语法吗?

时间:2012-02-07 21:35:56

标签: ios objective-c

我无法理解以下内容:

UILabel *label = (UILabel *)[cell viewWithTag:1000];

我理解UILabel是一个班级。所以我们正在创建一个名为*label的指针,指向UILabel的实例。

等号右侧,我了解[cell viewWithTag:1000];正在通过cell传递一个名为viewWithTag的方法1000

之前的(UILabel *)是什么意思?

2 个答案:

答案 0 :(得分:2)

这意味着将对象类型转换为UILabel*。默认情况下,viewWithTag:会返回UIView*

答案 1 :(得分:1)

它将结果转换为UILabel。语法与C中的相同 - (Objective-C是C的超集)。

使用isKindOfClass

之前,您也可以在使用之前检查类型(如果您对所返回的内容有信心,则确实没有必要)