我正在尝试使用 prepareForSegue 方法将一个字符串传递给我的模态视图 Controller ,如下所示。见下文:
这是我的初始 View Controller ,我将在其中呈现模态视图:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if segue.identifier == "newProject" {
var newProjectVC:ModalViewController = ModalViewController()
newProjectVC = segue.destinationViewController as ModalViewController
newProjectVC.testString = "hello"
}
}
这是我的模态视图 Controller :
import UIKit
class ModalViewController: UIViewController {
var testString:NSString!
override func viewDidLoad() {
println(self.testString)
}
}
这是 Storyboard中的样子:
问题是它在这一行抛出异常:
newProjectVC = segue.destinationViewController as ModalViewController
我感觉这可能与导航 Controller 有关,但不确定,有什么想法吗?
最佳答案
你是对的,destinationViewController 是导航 Controller 而不是 ModalViewController,试试看:
let navigationController = segue.destinationViewController as UINavigationController
let newProjectVC = navigationController.topViewController as ModalViewController
newProjectVC.testString = "hello"
关于ios - 通过 prepareForSegue 传递 NSString - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25367343/