是否可以执行以下操作?
UILabel *welcome;
if (someFlag == 1)
welcome = myTextfield // somehow reset to a textfield, not a label
else
welcome = myLabel;
...use welcome variable...
答案 0 :(得分:2)
在编写代码时,无法更改变量的类型。然而,您可以声明为id
,它允许您存储任何NSObject(或其子类)指针:
id welcome;
if (someFlag == 1)
welcome = myTextfield // somehow reset to a textfield, not a label
else
welcome = myLabel;
或者您可以使用UIView,因为这是两个控件的父类:
UIView *welcome;
if (someFlag == 1)
welcome = myTextfield // somehow reset to a textfield, not a label
else
welcome = myLabel;
但是否则,如果不创建新变量,则无法重新声明变量的类型。