nifCody
nifCody

Reputation: 2444

Passing value while instantiating the view

Need to adding a value from one view controller to another view controller via the following way. I successfully able to move to the another page but not able to passing the value

   sideMenuController?.cache(viewControllerGenerator: {
                self.storyboard?.instantiateViewController(withIdentifier: "projectDetailController")
            }, with: "333")
            sideMenuController?.delegate = self as? SideMenuControllerDelegate

            sideMenuController?.setContentViewController(with: "333", animated: Preferences.shared.enableTransitionAnimation)
            sideMenuController?.hideMenu()

Upvotes: 0

Views: 57

Answers (1)

ppalancica
ppalancica

Reputation: 4277

Add a property inside ProjectDetailController:

class ProjectDetailController: UIViewController {

    var someValue: String?

    /* more code */

}

Move the ProjectDetailController creation above and, once created - try to inject the value you want:

let projectDetailController = self.storyboard?.instantiateViewController(withIdentifier: "projectDetailController") as! UINavigationController
let projectDetailViewController = projectDetailController.viewControllers.first as! ProjectDetailViewController
projectDetailViewController.projectId = id

sideMenuController?.cache(viewControllerGenerator: { projectDetailController }, with: "333")
sideMenuController?.delegate = self as? SideMenuControllerDelegate

sideMenuController?.setContentViewController(with: "333", animated:
Preferences.shared.enableTransitionAnimation)
sideMenuController?.hideMenu()

Upvotes: 2

Related Questions