【发布时间】:2015-08-24 22:36:28
【问题描述】:
我正在尝试将字符串值从 ViewController 传递到另一个:
@IBAction func unwindToMasterViewController(segue: UIStoryboardSegue) {
let viewController:MyViewController = segue.sourceViewController as! MyViewController
sprite = viewController.sp //sp is NSString declared in MyViewController
print("the string is \(viewController.sp)")// nothing happens!!!
}
我可以在“离开”MyViewController 之前在我的日志中看到 sp 不是 nil。
有没有更好的方法来做到这一点?
编辑:
我想我可能知道这个问题:
在我从MyViewController 获取字符串值之前,在日志中调用@IBAction func unwindToMasterViewController(segue: UIStoryboardSegue)。
日志出现的顺序是:
-
"the string is "
然后从MyViewController 打印出实际值:
-
"sp is testString"
我该如何解决这个问题?
【问题讨论】:
-
它是否曾经执行过打印语句?
-
@der_michael 是的,它确实执行了打印,但我只在日志中看到“字符串是”,但没有其他内容,甚至没有“null”或“nil”
-
那么也许可以澄清一下您的问题具体是什么,或者您只是想要一个一般性的建议?因为有多种方法可以在视图控制器之间传递数据。您显示的选项是其中一个有效的选项,它们都在很大程度上取决于您想要实现的目标......您特别不喜欢您的解决方案的哪些方面?
-
你确定它是从正确的 MyViewController 中分离出来的吗?
-
@der_michaelmy 问题是我什么也得不到。我无法将字符串从一个视图传递到另一个视图。 sp 始终为零。所以基本上我想知道我哪里出错了......
标签: ios uiviewcontroller nsstring uistoryboardsegue swift2