ios - How to implement only one table controller for all segment in pager? -


i implementing custom horizontal multiple segments table view controller content of each segment. how implement 1 controller segments, because view same segments data change. want pass current index of segment table view controller particular data. using capspagemenu.swift file -https://codeload.github.com/uacaps/pagemenu/zip/master?

here code-

class entrance_main_controller: uiviewcontroller {               var pagemenu : capspagemenu?    override func viewdidappear(animated: bool) {     super.viewdidappear(animated)      // mark: - ui setup      self.title = "entrance exam"      // initialize view controllers display , place in array     var controllerarray : [uiviewcontroller] = []        let controller1 : entrance_content_viewcontroller =         entrance_content_viewcontroller(nibname: "testtableviewcontroller", bundle: nil)     controller1.title = "engineering"     controllerarray.append(controller1)     let controller2 : entrance_content_viewcontroller = entrance_content_viewcontroller(nibname: "testtableviewcontroller", bundle: nil)     controller2.title = "medical"     controllerarray.append(controller2)      let controller3 : entrance_content_viewcontroller = entrance_content_viewcontroller(nibname: "testtableviewcontroller", bundle: nil)     controller3.title = "management"     controllerarray.append(controller3)      // customize menu (optional)     let parameters: [capspagemenuoption] = [         .scrollmenubackgroundcolor(uicolor(red: 30.0/255.0, green: 30.0/255.0, blue: 30.0/255.0, alpha: 1.0)),         .viewbackgroundcolor(uicolor(red: 20.0/255.0, green: 20.0/255.0, blue: 20.0/255.0, alpha: 1.0)),         .selectionindicatorcolor(uicolor.orangecolor()),         .bottommenuhairlinecolor(uicolor(red: 70.0/255.0, green: 70.0/255.0, blue: 80.0/255.0, alpha: 1.0)),         .menuitemfont(uifont(name: "helveticaneue", size: 13.0)!),         .menuheight(40.0),         .menuitemwidth(90.0),         .centermenuitems(true)     ]      // initialize scroll menu     pagemenu = capspagemenu(viewcontrollers: controllerarray, frame: cgrectmake(0.0, 0.0, self.view.frame.width, self.view.frame.height), pagemenuoptions: parameters)      self.addchildviewcontroller(pagemenu!)     self.main_content_view.addsubview(pagemenu!.view)      pagemenu!.didmovetoparentviewcontroller(self) }  //here getting current index func get_current_page() -> int {      let currentindex = pagemenu!.currentpageindex     return currentindex; }  // mark: - container view controller override func shouldautomaticallyforwardappearancemethods() -> bool {     return true }  override func shouldautomaticallyforwardrotationmethods() -> bool {     return true } } 

here using entrance_content_viewcontroller class segments.in controller calling get_current_page() method current page index.

class entrance_content_viewcontroller: uitableviewcontroller {   override func viewdidload() {  super.viewdidload()   let entrance_main_controller = entrance_main_controller()     let page = entrance_main_controller.get_current_page()     print("page no\(page)")      self.tableview.registernib(uinib(nibname: "entrancetableviewcell",        bundle: nil), forcellreuseidentifier: "entrancetableviewcell")          } 

but getting error- fatal error: unexpectedly found nil while unwrapping optional value(lldb) please me solve problem. thank

the basic idea can implement is, maintain array of data each segment. use switch on segment index , per segment index assign tableview datasource.

the rough code should this:

switch(segmentindex)  {    case: 0 yourdatasourcearray = segment0_dataarray                 :                 :    //like segments. } 

Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -