swift - Error in pageviewcontroller cannot convert [AnyObject] to expected arguments -
i new ios developer , doing pageviewcontroller
in take 4 labels , these 4 label while shown on each screen respectively.but getting error while taking in array in code in have shown
var pageviewcontroller:uipageviewcontroller! var label:nsarray! override func viewdidload() { super.viewdidload() // additional setup after loading view, typically nib. self.label = nsarray(objects: "1", "2", "3", "4") self.pageviewcontroller = self.storyboard?.instantiateviewcontrollerwithidentifier("pageviewcontroller") as! uipageviewcontroller self.pageviewcontroller.datasource = self var startvc = self.viewcontrolleratindex(0) contentviewcontroller var viewcontrollers = nsarray(object: startvc)
self.pageviewcontroller.setviewcontrollers(viewcontrollers [anyobject], direction: .forward, animated: true, completion: nil)
self.pageviewcontroller.view.frame = cgrectmake(0, 0, self.view.frame.width, self.view.frame.size.height - 50) self.addchildviewcontroller(self.pageviewcontroller) self.view.addsubview(self.pageviewcontroller.view) self.pageviewcontroller.didmovetoparentviewcontroller(self) }
in line getting error of object cannot shown expected arguments
that's because you're passing array of anyobject
s uipageviewcontroller
's setviewcontrollers(_:direction:animated:completion:)
method. expects array of uiviewcontroller
s. change piece of code this:
var startvc = self.viewcontrolleratindex(0) contentviewcontroller self.pageviewcontroller.setviewcontrollers([startvc], direction: .forward, animated: true, completion: nil)
also shouldn't use nsarray
s in swift. use standard swift arrays instead.
Comments
Post a Comment