Это звучит для меня так, как будто вы имеете в виду несколько активных режимов CONTROLLERS, а не виды.
Эти две вещи: не сменный. Контроллер представления управляет иерархией представлений и обеспечивает посредничество между этими представлениями и данными модели, которыми он управляет.
Начиная с iOS 6, довольно просто использовать раскадровки, чтобы контроллер просмотра управлял частью экрана. Вы добавляете представление контейнера в свой родительский контроллер представления, а затем соединяете и вставляете segue между представлением контейнера и контроллером представления, который будет там нарисован. Затем система устанавливает все, чтобы в контроллере был установлен вид контроллеров дочерних представлений.
Контроллер просмотра страниц предназначен для интерфейса стиля книги, в котором пользователь переключается между контроллерами представлений, которые управляют страницей содержимого. Контроллер просмотра страницы похож на представление таблицы. Он имеет делегат и источник данных. Он запрашивает, чтобы источник данных обслуживал контроллеры представлений для страниц по мере необходимости.
Я думаю, что контроллер просмотра страниц предназначен для запроса новых контроллеров представлений для каждой страницы, которую он должен отображать, и отбрасывать их, когда это делается с ними. Таким образом, это не будет хорошим выбором для управления набором контроллеров представлений, которые «прилипают».
Если количество страниц, которые вам нужно отобразить, мало и исправлено, вы можете создавать контроллеры просмотра для всех своих страниц и сохранять их в массиве, а затем при необходимости возвращать их в контроллер просмотра страницы. Это позволит сохранить все ваши индивидуальные контроллеры просмотра по мере необходимости.
Возможно, вы захотите настроить один сингл-узел диспетчера bluetooth, который управляет связью Bluetooth с другими устройствами, а также передает уведомления по мере поступления данных. Таким образом, контроллеры просмотра могут регистрироваться для уведомлений, которые они интересуют по мере необходимости, и un -регистр, когда их больше не нужно уведомлять. (обязательно отмените регистрацию уведомлений в своем методе dealloc или вы потерпите крах, когда ваш менеджер bluetooth попытается отправить уведомление об освобожденном объекте.)
Почему вы не помещаете все полученные данные в пользовательский класс, а затем используете этот класс в каждом VC? – CaptJak
Не хранить данные в представлениях, хранить их в каком-то «образном» объекте. Обновите представление, когда вид станет видимым. В противном случае вы просто отбрасываете работу, обновляя представления и заставляя взгляды нести бремя модели. – BergQuester
Спасибо, я не знаю, почему я делал свою жизнь намного сложнее. –