Как передать данные из меню 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)
}