2016-04-22 81 views
1

嘿,我在项目中使用AKSwiftSlideMenu作为幻灯片菜单功能,我不知道是否有一种方法,以便我可以在菜单中继续查看目标ViewController标题?我想这个代码,但没有将数据传递到目的地:如何将数据从AKSwiftSlideMenu菜单传递给Swift中的UIViewController?

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() 

所有返回 '零'。

回答

0

您已经创建了视图控制器的新对象。

替换此代码:

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) 
} 
相关问题