大家好,我在项目中使用 AKSwiftSlideMenu 来实现滑动菜单功能,我想知道是否有办法让我可以在从菜单切换到目标 ViewController 标题时更改目标 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: "")
}
}
在目标 View Controller 上,我有这个变量,用于从菜单中获取数据:
var categoryName = ""
它返回“nil”。我也试过这样做:
var categoryName : String!
还有这个:
var categoryName = String()
全部返回 'nil'。
最佳答案
您已经创建了新的 View Controller 对象。
替换这段代码:
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)
}
关于swift - 如何将数据从 AKSwiftSlideMenu 菜单传递到 Swift 中的 UIViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36802502/