我需要遍历一个viewcontroller的视图层次结构,使用什么字体。是否有通用的方法来确定视图(和视图的子类)是否支持字体?我不想做一个巨大的if-then-else:
if ([[view isKindOfClass: [UILabel class]) {
// Do stuff
} else if ([[view isKindOfClass: [UITextField class]) {
// Do stuff
} etc. ...
由于维护问题。我更喜欢像
这样的方法if ([view canPerform: @selector(getFont:)]) {
// Do stuff
}
但这并不像人们希望的那样有效。
答案 0 :(得分:1)
您可以使用从NSObject继承的respondsToSelector方法。
if( [ view respondsToSelector: @selector( font ) ] ) {}
或者
if( [ view respondsToSelector: @selector( setFont: ) ] ) {}