如何禁用双击"返回" UINavigation Bar上的按钮

时间:2015-09-02 03:41:52

标签: ios iphone swift segue fatal-error

在我尝试使用我正在处理的应用程序查找任何错误的过程中,我发现后退按钮内置了一个功能,它可以识别双击作为保留(返回)原始视图控制器的方法。 但是,这导致了一个致命的错误:在展开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!

...

}

0 个答案:

没有答案