は、私はエラーが私がNULLポインタを持っていることを意味知っているが、私はそれがある理由をわからない、と私はそれが私のコードで私が間違っていた何かをでなければならないと仮定します。私のインデックスはホームページであるミドルビューコントローラで開始したいので、インデックスは1から始まります。私はスナップチャットに似ているビューコントローラ間をスワイプするページビューコントローラを作成しようとしています。私は、次のコードを持っている:エラーがこの行で発生UIPageViewController悪いアクセスエラー
import UIKit
class PageViewController: UIPageViewController, UIPageViewControllerDelegate, UIPageViewControllerDataSource {
var viewControllersArray = [UIViewController]()
var pageIndex: Int?
let selectedIndex = 1
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.clearColor()
let vc1 = storyboard?.instantiateViewControllerWithIdentifier("ProfileView") as! ProfileViewController
let vc2 = storyboard?.instantiateViewControllerWithIdentifier("HomeView") as! HomeViewController
let vc3 = storyboard?.instantiateViewControllerWithIdentifier("MatchesView") as! MatchViewController
viewControllersArray.append(vc1)
viewControllersArray.append(vc2)
viewControllersArray.append(vc3)
self.dataSource = self
let pageContentViewController = self.viewControllerAtIndex(selectedIndex)
self.setViewControllers([pageContentViewController!], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil) //Error here
}
:
self.setViewControllers([pageContentViewController!], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil) //Error here
次のようにエラーがある:「スレッド1:EXC_BAD_ACCESS(コード= 2、アドレス= 0x7fff58d57ff8)
ここは私viewControllerAtIndex機能である:ここで
func viewControllerAtIndex(index : Int) -> UIViewController? {
if((self.viewControllersArray.count == 0) || (index >= self.viewControllersArray.count)) {
return nil
}
let pageContentViewController = self.storyboard?.instantiateViewControllerWithIdentifier("PageViewController") as! PageViewController
pageContentViewController.pageIndex = index
return pageContentViewController
}
はビューcontrolleと私のストーリーボードです間をスワイプするRS:
は、任意およびすべてのヘルプは大歓迎です!
あなたのView ControllerはIndex関数のどこにありますか?なぜインデックスが0でなく1から始まっていますか? – WMios
@WMios私はちょうど編集を追加しました – evanhaus
また、実際のエラーでスタックトレースを含めることができますか? – WMios