Я новичок в Xcode и Swift. Я использую эту библиотеку: https://github.com/PhamBaTho/BTNavigationDropdownMenu для создания DropDownMenu в моем приложении. Я следил за демо от Github и все работает отлично. Я пытаюсь получить выбранное значение и присвоить его строке вне функции didSelectItemAtIndexHandler . Это мой код:
var menuView: BTNavigationDropdownMenu!
var items = ["San Francisco", "New York", "LA", "Chicago"]
menuView = BTNavigationDropdownMenu(navigationController: self.navigationController, containerView: self.navigationController!.view, title: BTTitle.index(0), items: items)
menuView.didSelectItemAtIndexHandler = {(indexPath: Int) -> Void in
self. myCity = items[indexPath]
//print(myCity) // prints the correct city every time
}
self.navigationItem.titleView = menuView
Я пытаюсь получить следующее за пределами menuView.didSelectItemAtIndexHandler :
var test = String()
test = myCity
print(test)
Любая помощь будет оценена. Заранее спасибо!
Я пытаюсь передать данные отсюда в TopFiveViewController.
menuView.didSelectItemAtIndexHandler = {(indexPath: Int) -> Void in
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let vc = storyboard.instantiateViewController(withIdentifier: "TopFiveViewController") as! TopFiveViewController
vc.myCity = self!.items[indexPath]
print(myCity) // prints the correct city every time but it doesn't pass the value to TopFiveViewController!
}
В TopFiveViewController у меня есть:
var myCity = String()
override func viewDidLoad() {
super.viewDidLoad()
if self.myCity == "San Francisco" {
// load SF json file
} else if myCity == "New York" {
// load NY json file
}