Я надеюсь, что кто-то может помочь мне с этой проблемой, которую я получаю быстро.Получение сигнала SIGABRT при использовании instantiateViewController с UIVewController
Я пытаюсь добавить массив UIViewController
s к UIPageViewController
. Однако всякий раз, когда я пытаюсь получить доступ к контроллеру представления с помощью метода instantiateViewController
, я получаю ошибку SIGABRT.
let vc: UIViewController = self.storyboard?.instantiateViewController(withIdentifier: views[index]) as! UIPageViewController
Вот мой весь файл ViewController.swift только для справки.
import UIKit
class ViewController: UIViewController {
var pageViewController: UIPageViewController!
var views: [String] = ["view1","view2"]
override func viewDidLoad() {
super.viewDidLoad()
self.pageViewController = self.storyboard?.instantiateViewController(withIdentifier: "pageViewController") as! UIPageViewController
var arr: [UIViewController] = []
for i in 0..<views.count{
arr.append(assignView(index: i))
}
self.pageViewController.setViewControllers(arr, direction: .forward, animated: true, completion: nil)
self.addChildViewController(self.pageViewController)
self.view.addSubview(self.pageViewController.view)
pageViewController.didMove(toParentViewController: self)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func assignView (index: Int) -> UIViewController{
let vc: UIViewController = self.storyboard?.instantiateViewController(withIdentifier: views[index]) as! UIPageViewController
return vc
}
}
Может кто-нибудь сказать мне, почему мой код бросает мне эту ошибку?
Большое вам спасибо!
Вы полностью вставляете ошибку? Готовьте, что консоль всегда будет пытаться предоставить осмысленные сообщения обратно ... так что вы можете легко отлаживать – Honey
Правильно ли вы назначили идентификаторы viewController? – Miknash