Vel*_*ity 9 tableview iboutlet ios segue swift
DetailViewController:
@IBOutlet var selectedBundesland: UILabel!
Run Code Online (Sandbox Code Playgroud)
TableViewController:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "BackToCalculator") {
var vc:FirstViewController = segue.destinationViewController as FirstViewController
vc.selectedBundesland.text = "Test"
}
Run Code Online (Sandbox Code Playgroud)
IBOutlet已连接!
错误:致命错误:在解包可选值时意外发现nil
我阅读了关于Optionals的多个页面,但我不知道我的问题的答案.
您是否需要有关我的项目的更多信息?
Pau*_*w11 30
您无法直接写入UILabelin,prepareForSegue因为视图控制器尚未完全初始化.您需要创建另一个字符串属性来保存该值并将其放入相应函数的标签中 - 例如viewWillAppear.
小智 12
DetailViewController:
var textValue: String = ""
@IBOutlet weak var selectedBundesland: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
selectedBundesland.text = textValue
}
Run Code Online (Sandbox Code Playgroud)
TableViewController:
if (segue.identifier == "BackToCalculator") {
var vc:FirstViewController = segue.destinationViewController as FirstViewController
vc.textValue = "Test"
}
Run Code Online (Sandbox Code Playgroud)
最近有这个问题。问题是我已将序列从当前视图控制器的特定对象拖到目标视图控制器-如果要传递值,请不要这样做。
而是将其从窗口顶部的黄色块拖动到目标视图控制器。然后适当地命名segue。
然后使用if (segue.identifier == "BackToCalculator")来分配当前值。所有应该解决!