Мне всегда было жаль, что представление UIViewController
явно напечатано как UIView
, потому что подклассы контроллера имеют свои собственные типы представлений и должны преобразовать UIView
в правильный тип:
@interface MyController : UIViewController {}
@implementation MyController
- (void) viewDidLoad {
[(MyView*)self.view doThisOrThat];
}
// Or define a custom accessor:
- (MyView*) myView {
return (MyView*) [self view];
}
Это кажется глупым. Если бы вид UIViewController
был напечатан как id
, мы могли бы уйти без кастинга. Поскольку контроллеры представления созданы для создания подклассов, это может показаться естественным выбором дизайна. Какие бы были недостатки? (Или есть более простой способ преодолеть явные проблемы с типом представления?)