В рамках обучения Objective CI имел исключение, когда сторонняя библиотека возвращает случайный объект.Затем мне нужно проверить, является ли это экземпляром UIView, а затем проверить, есть ли у него свойство GroundColor.Если это так, то я устанавливаю его на какой-нибудь случайный цвет.
Код ниже делает это, но мне любопытно, что, если это был немой объект, и даже если у вас есть это свойство, вы не можете изменить его, как бы вы его протестировали.
вот код, который работает без проблем, но просто любопытно, дайте мне знать, что вы видите, я делаю неправильно.Как я уже сказал, конечный результат в порядке
id myView = [RandomObjectFactory randomNSObject];
UIView* parentView =[self view];
if ([myView isKindOfClass:[UIView class]])
{
UIView* uiView = (UIView*) myView;
SEL sel = @selector(backgroundColor);
if([uiView respondsToSelector:sel])
{
UIColor *textColour = [UIColor colorWithRed:0.1 green:0.2 blue:0.1 alpha:1.0];
[uiView setBackgroundColor:textColour];
}
[parentView addSubview:uiView];
}