У меня довольно сложная настройка, и я ищу совет, как структурировать свой код. То, что я пытаюсь сделать, это нечто похожее на твиттер, когда вы нажимаете одно из изображений пользователей и можете пронести через них. Это то, что я имею на данный момент:Как структурировать мой код iOS?
UIViewController
подкласс, который собирает данные с сервера, и передает его вUITableViewController
подклассу через переменную с именемtheData
- Этот
UITableViewController
подкласс также собирает больше данных как пользователей прокручивается в нижней части таблицы и добавляет его вtheData
(т. е. использует разбивку на страницы). Этот подклассUITableViewController
повторно используется во всем приложении, так что данные от другого источника могут быть переданы ему. - Когда пользователь нажимает на
UITableViewCell
, создаетсяUIWindow
, в котором естьUIPageViewController
. Окно используетUITableViewController
в качестве делегата для доступаtheData
и передаетtheData
от делегатаUIPageViewController
в переменной с именемpageData
- Каждая страница
UIPageViewController
являетсяUIViewController
, который загружает изображения изpageData
Следующий этап - сделать разбивку на страницы, когда пользователь проведет до конца pageData
в UIPageViewController
. Однако я не думаю, что мой код достаточно структурирован, чтобы повторно использовать код разбивки на страницы из UITableViewController
. Пожалуйста, может кто-нибудь дать мне совет о том, как улучшить эту структуру кода?
Спасибо
EDIT
UIViewController
в первом пункте делает больше, чем просто загрузка данных (он имеет другие представления в нем).
Я использую UIWindow
инкапсулировать UIPageViewController
, потому что я хочу, чтобы расширить из рамы UITableViewCell
и «взять на себя» полный экран - покрытие в строке состояния.
Вам не нужно создавать 'UIWindow', его уже есть, вы просто создаете новый' UIViewController' или его подкласс и представляете его/нажимаете на стек навигации. Я не думаю, что мы можем много помочь, так как у нас нет представления о том, насколько ваш код «не структурирован» для представления решения – Erakk
Это может быть более применимо для программистов или обзора кода. –
Существует много простое решение. Перейдите в github (или другой подобный сайт) и найдите одну из многих существующих библиотек, которые вы можете использовать для просмотра фотографий. – rmaddy