[英]Why am I getting an NSInternalInconsistencyException after my second UITableView search?
[英]Why am I getting this error after running my PageViewController?
我希望創建一個與SnapChat非常相似的PageViewController,您可以從UIImagePickerController滑動到另一個VC。 為此,我有一個初始的VC,它顯示了imagepickercontroller,另一個是我想在此初始VC之后使用的第二個VC(字幕VC)。 為了封裝我的PageViewController,我創建了另一個VC類(如下所示),現在將其設置為我的初始VC,並且我試圖處理PageVC數據源。
無論出於什么原因,它都無法正常工作,並且會出現錯誤-“致命錯誤:在展開可選值時意外發現nil”。 這是因為您不能在PageVC中包含imagePickerController(與SnapChat一樣令人懷疑)。 我創建了一個更簡單的模板,其中完美地包含了兩個簡單的VC-為什么在這里我不能這樣做? 我做的另一個,我在項目開始的初始VC中包含了以下所有代碼,而在這里,我創建了一個附加的VC,並手動對其進行了更改,使其成為“初始視圖控制器”。
注意 該項目在沒有pageVC的情況下可以正常編譯,因此與其他VC中的任何錯誤代碼無關。
我非常困惑,非常感謝您為這個棘手的問題提供幫助。 謝謝!
class PageViewController: UIViewController, UIPageViewControllerDataSource {
private var pageViewController: UIPageViewController?
private let VCarray = [ViewController(), CaptionViewController()]
override func viewDidLoad() {
super.viewDidLoad()
createPageViewController()
}
private func createPageViewController() {
let pageController = self.storyboard!.instantiateViewControllerWithIdentifier("PageController") as! UIPageViewController
pageController.dataSource = self
if VCarray.count > 0 {
pageController.setViewControllers([ViewController()], direction: UIPageViewControllerNavigationDirection.Forward, animated: false, completion: nil)
}
pageViewController = pageController
addChildViewController(pageViewController!)
self.view.addSubview(pageViewController!.view)
pageViewController!.didMoveToParentViewController(self)
}
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
if viewController.isKindOfClass(CaptionViewController) {
let pvc = self.storyboard?.instantiateViewControllerWithIdentifier("CameraVC")
return pvc
}
return nil
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
if viewController.isKindOfClass(ViewController) {
let pvc = self.storyboard?.instantiateViewControllerWithIdentifier("CaptionVC")
return pvc
}
return nil
}
我看到的唯一可選的展開是在第一行。 那是引發異常的地方嗎? 您確定您的主控制器有一個故事板嗎? 如果是這樣,您確定情節提要中包含一個名為“ PageController”的控制器嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.