【发布时间】:2015-04-22 10:05:22
【问题描述】:
我尝试使用 segue 方法将数据从一个控制器传递到另一个控制器。 我的第一个视图控制器是
class ViewController: UIViewController {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "btnSubmitSegue") {
var svc = segue.destinationViewController as ForthViewController;
svc.dataParsed = "this is new text"
}
}
}
在目标视图控制器中 ->
class ForthViewController: UIViewController {
@IBOutlet weak var mylabel1: UILabel!
var dataParsed:String!
override func viewDidLoad() {
super.viewDidLoad()
NsLog(dataParsed)
mylabel1.text = dataParsed
}
}
但数据未加载到目标控制器中的 mylabel1.text。你能帮忙弄清楚吗
【问题讨论】:
-
尝试将代码移至 viewDidAppeare 方法
-
NSLog 记录什么? (顺便说一句,你应该使用 swift 函数
println()。) -
您的 (segue.identifier == "btnSubmitSegue") 条件是否为真?拼写错误的标识符是我的常见错误
-
打印出来的数据是什么意思?它打印正确吗?下次使用 println() 代替 NSLog
标签: ios swift uinavigationcontroller segue