在我尝试使用我正在处理的应用程序查找任何错误的过程中,我发现后退按钮内置了一个功能,它可以识别双击作为保留(返回)原始视图控制器的方法。 但是,这导致了一个致命的错误:在展开Optional值时意外地发现了nil。"
背景: 假设我有VC1和VC2,其中VC1通过Push segue链接到VC2。 VC1在" prepareforsegue"中设置VC2中引用的UItextfields的文本。功能。出于某种原因,当从UI2中为UItextfield = nil双击后退按钮时,这段代码会导致上面的致命错误。
我的解决方案是尝试禁用双击功能。但是我的代码可能存在一个更根本的问题,这是根本原因。请帮忙解决这个问题,谢谢!我在SWIFT工作。
编辑:在下面添加了代码,我试着在这里拉出相关代码的核心。
ViewController1.swift
import UIKit
import Parse
class ViewController1:UIViewController {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "toVC2" {
ParsingFunction1(){ () -> () in
let destination = segue.destinationViewController as! ViewController2
let Status = getStatusFunction()
destination.UISwitch.setOn(Status, animated: true)
}
ParsingFunction2{ () -> () in
let destination = segue.destinationViewController as! ViewController2
let values = getValuesFunction()
println(special[0])
destination.textfield0.text = values[0]
destination.textfield1.text = values[1]
destination.textfield2.text = values[2]
destination.textfield3.text = values[3]
}
}
}
}
ViewController2.swift
import UIKit
class ViewController2: UIViewController {
@IBOutlet weak var UISwitch: UISwitch!
@IBOutlet weak var textfield0: UITextField!
@IBOutlet weak var textfield1: UITextField!
@IBOutlet weak var textfield2: UITextField!
@IBOutlet weak var textfield3: UITextField!
...
}