我需要检查某个对象是否有文本属性。例如,它可以是UIButton
或UILabel
。但是,显示UIButton
和UILabel
的文字的属性之间存在问题。
这就是区别:
对于UIButton
我们使用setTitle:
方法设置文字,但对于UILabel
我们使用另一个名为setText:
我需要做些什么:
我需要获取所有子视图,如果这些子视图具有text属性,我需要使用一些文本更改此属性值。
当然,我可以检查对象的类和设置所需的属性,但也许我们有另一种方法可以在不检查对象类的情况下完成它。
答案 0 :(得分:1)
for (id item in [self.view subviews])
{
if ([item respondsToSelector:@selector(text)])
[item setText:@"text"]; // change text for UILabel
else if ( [item respondsToSelector:@selector(setTitle:forState:)])
[item setTitle:@"text" forState:UIControlStateNormal]; // change text for UIButton
}