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

я естьUIPageViewController Содержит 4 контроллера вида

Я установил таймер для автоматической смены контроллеров представления (переход к следующему контроллеру представления) - этот таймер и метод будут работать, но проблема в том, что он работает только для первого слайда, когда приложение будет запущено и через 5 секундUIPageViewController покажет второй слайд Но после этого ничего не случится! Это код, который я использовал

lazy var VCArr : [UIViewController] = {

    return [self.VCInstance(name : "VC1"),
            self.VCInstance(name : "VC2"),
            self.VCInstance(name :"VC3"),
            self.VCInstance(name :"VC4")]
}()

func changeSlide() {

    print("Slide Change!")


    guard let currentViewController = self.VCArr.first  else { return }

            guard let nextViewController = dataSource?.pageViewController( self, viewControllerAfter: currentViewController ) else { return }

            setViewControllers([nextViewController], direction: .forward, animated: true, completion: nil)

    }

var tTime: Timer!

override func viewDidLoad() {
    super.viewDidLoad()


    tTime = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(changeSlide), userInfo: nil, repeats: true)


    }

Я думаю, что проблема в этой линии

guard let currentViewController = self.VCArr.first  else { return }

Но я не знаю, как изменить эту строку, чтобы работать нормально

Ответы на вопрос(0)

Ваш ответ на вопрос