Как эффективно реализовать два одинаковых представления в UISegmentedControl - PullRequest
0 голосов
/ 05 октября 2018

У меня два совершенно одинаковых представления, которые я показываю в двухсегментном элементе управления.Обратитесь к изображению ниже.Разница между этими двумя представлениями - это параметр, который я отправляю в бэкэнд для получения значений и заголовка.Даже возвращенные значения одинаковы.

Я ссылался на некоторый учебник, который циклически переключается с одного вида на другой, когда выбран сегмент.

Я получил два файла с одинаковым кодом.Как оптимизировать эту реализацию, чтобы я мог реализовать ее только с одним фрагментом кода.

Два содержащихся в нем VC имеют абсолютно одинаковый код для извлечения значений из бэкэнда и отображения.У меня есть только одна функция, которую я использовал в обоих VC для выборки, но есть и другие разделы кода, такие как делегирование Tableview и другие коды, которые являются общими для обоих.

В раскадровке также есть дубликаты.

Можно ли как-нибудь повысить его эффективность?

image

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Я думаю, вам нужно создать только 1 VC (в IB и коде), поместить всю логику в него и либо

1 - добавить один экземпляр / контейнер в MainVC и управлять процессомвыбор сегмента для перезагрузки содержимого (рекомендуется)

2 - добавьте 2 его экземпляра в MainVC и управляйте скрытием / отображением при выборе сегмента

0 голосов
/ 05 октября 2018

Это может быть причиной того, что ваши два контроллера представления будут подклассами общего суперкласса.

Или это может быть еще проще: сделайте их двумя экземплярами одного и того же класса контроллера представления, который знает, что делать, потому что вы передаете параметр во время создания, сообщая ему, что делать.

Например, мое приложение Albumen использует четыре контроллера представления, которые отличаются в основном только тем, какой запрос они выполняют для музыки пользователя.библиотека.Поэтому я решил создать для них четыре экземпляра одного класса контроллера представления со свойством enum, указывающим, какой это запрос, и любой другой изменяющейся функциональностью, определяемой с помощью операторов switch в этом перечислении.

...