Как передать данные из меню AKSwiftSlideMenu в UIViewController в Swift?

Эй, ребята, я использую AKSwiftSlideMenu для функциональности слайд-меню в проекте, и мне интересно, есть ли способ, чтобы я мог изменить целевой заголовок ViewController, когда я переходил к нему из меню? Я попытался этот код, но не передает данные в пункт назначения:

func slideMenuItemSelectedAtIndex(index: Int32) {
let topViewController : UIViewController = self.navigationController!.topViewController!
print("View Controller is : \(topViewController) \n", terminator: "")
switch(index){
case 0:
    print("Note\n", terminator: "")
    var nextVC = AddSubcategoryVC()
    nextVC.categoryName = "Note"
    self.openViewControllerBasedOnIdentifier("AddSubcategoryVC") 
    print("On menu the cat is: \(nextVC.categoryName)")
    break
default:
    print("default\n", terminator: "")
} 
}

На конечном контроллере просмотра у меня есть эта переменная, которая должна получить данные из меню:

var categoryName = ""

и он возвращает "ноль". Я также попытался сделать это:

var categoryName : String!

и это:

var categoryName = String()

все возвращают ноль.

1 ответ

Вы создали новый объект контроллера представления.

Заменить этот код:

var nextVC = AddSubcategoryVC()
nextVC.categoryName = "Note"
self.openViewControllerBasedOnIdentifier("AddSubcategoryVC") 

с

let destViewController = self.storyboard!.instantiateViewControllerWithIdentifier("AddSubcategoryVC") as! AddSubcategoryVC
destViewController.categoryName = "Note"// You have to pass your data with view controller witch will open
let topViewController : UIViewController = self.navigationController!.topViewController!

if (topViewController.restorationIdentifier! == destViewController.restorationIdentifier!){
    print("Same VC")
} else {
    self.navigationController!.pushViewController(destViewController, animated: true)
}
Другие вопросы по тегам