У меня есть набор из 4 контроллеров UIViewController, у каждого из них есть свой собственный класс, и у меня настроены делегаты.На данный момент в моем главном представлении есть контейнерные представления, которые прокручиваются за пределами экрана, и именно так я делаю «контроллер просмотра псевдостраничных страниц».Однако ради обучения я хотел преобразовать это в реальный контроллер просмотра страниц, используя UIPageViewController.
Я видел кучу учебных пособий, но большинство людей просто используют один контроллер представления и изменяют текст внутри него, чтобы отобразить несколько,В моем случае у меня есть 4 пользовательских контроллера представления:
var glanceController: GlanceVC!
var goalsController: GoalsVC!
var commuteController: CommuteVC!
var compareController: CompareVC!
На моем предыдущем контроллере просмотра псевдостраничных страниц я инициализировал их следующим образом:
func loadVC() {
glanceController = self.storyboard?.instantiateViewController(withIdentifier: "sbGlance") as? GlanceVC
goalsController = self.storyboard?.instantiateViewController(withIdentifier: "sbGoals") as? GoalsVC
commuteController = self.storyboard?.instantiateViewController(withIdentifier: "sbCommute") as? CommuteVC
compareController = self.storyboard?.instantiateViewController(withIdentifier: "sbCompare") as? CompareVC
}
Теперь, насколько я понимаю, нужен UIPageViewControllerмассив UIViewControllers.Однако я не могу создать этот массив:
var VCArray: [UIViewController] = [glanceController, goalsController, commuteController, compareController]
ошибка: невозможно использовать элемент экземпляра 'glancecontrolleer' в инициализаторе свойств.
Я попытался вместо этого объявить пустой массив var VCArray: [UIViewcontroller]= [] и затем добавление после
func loadVC() {
glanceController = self.storyboard?.instantiateViewController(withIdentifier: "sbGlance") as? GlanceVC
goalsController = self.storyboard?.instantiateViewController(withIdentifier: "sbGoals") as? GoalsVC
commuteController = self.storyboard?.instantiateViewController(withIdentifier: "sbCommute") as? CommuteVC
compareController = self.storyboard?.instantiateViewController(withIdentifier: "sbCompare") as? CompareVC
VCArray += glanceController
}
, однако также имеется ошибка: «Тип аргумента @value glanceVC? не соответствует ожидаемому типу« Последовательность ».
Может кто-нибудь мне помочьсделать этот массив пользовательских контроллеров представления для моего uipageview?