Я создаю универсальное приложение для iOS, то есть оно будет работать на iPhone и iPad. Теперь у меня есть UIViewController
, который будет отображаться на обоих, но по-разному. На iPhone он будет содержать UITableView
, на iPad - AQGridView
. Данные будут такими же. Поэтому оба контроллера будут совместно использовать много методов и переменных экземпляра.
Обычно я создаю подкласс UIViewController
с моими методами и переменными экземпляра, а затем создаю два подкласса этого класса, куда я помещаю материал, специфичный для устройства.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что версия моего подкласса для iPhone также должна наследоваться от другого класса с помощью некоторых приятных методов:
UIViewController sublcass Some Other Class
| |
------------------------------- -----------------
| | |
iPad sublcass iPhone subclass
Добавление версии iPad в качестве подкласса iPhone sublcass
невозможно, поскольку Some Other Class
предназначен для использования с UITableView
.
Я почти уверен, что это невозможно в Objective-C, но я хотел спросить, прежде чем приступить к созданию огромного беспорядка копирования и вставки. Итак: какие-либо предложения о том, как сделать мой код простым?