як дозволити перегляду контролера дізнатись його клас вигляду?

Я створив новий користувацький клас перегляду (підклас UIView) і змінив клас перегляду в конструкторі інтерфейсу. Проте, здається, ні Xcode, ні компілятор не знає, що уявлення контролера перегляду змінило клас.

Наприклад, у мене є селектор у своєму користувальному перегляді: - (void) changeShape Я намагаюся викликати на мій погляд контролер [self.view changeShape], автоматичного завершення немає, і компілятор створює попередження про те, що "представлення може не відповідати на changeShape".

Програма працює без проблем у симуляторі.

Цікаво, як правильно дозволити компілятору знати, що клас перегляду був змінений?

Дякую

Лев

1
Чи можете ви, будь ласка, опублікувати своє оголошення та визначення методу?
додано Автор Waqas Raja, джерело
Щоб дізнатись клас перегляду, використовуйте цей код: NSString * className = NSStringFromClass ([self.view class]); Але я думаю, це марно для вашої мети, просто віддайте тип [(MyView *) себе. view changeShape] ;
додано Автор beryllium, джерело
Можливо, спробуйте очистити ціль, бо це звучить трохи дивно, я зробив це без проблем.
додано Автор Herz Rod, джерело

1 Відповіді

Простим рішенням буде typecast self.view: [(YourViewClass *) self.view changeShape] Не забудьте імпортувати файл заголовка для YourViewClass, і компілятор не повинен дати вам попередження.

1
додано