认为时代错误

时间:2015-09-28 00:38:25

标签: ios swift uiviewcontroller segue

我正在尝试从以下ViewController传递文本输入:

class ViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet weak var inputField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()

        inputField.delegate = self

        let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
        view.addGestureRecognizer(tap)
    }

    func dismissKeyboard() {
        inputField.resignFirstResponder()
    }

    func textFieldDidEndEditing(inputField: UITextField) {
        let info = inputField.text
        performSegueWithIdentifier("goToBlue", sender: info)
    }

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        if segue.identifier == "goToBlue" {     
            if let blueVC = segue.destinationViewController as? BlueViewController {                
                if let sentValue = sender as? String {
                    blueVC.receptacle = sentValue
                    print(blueVC.receptacle)
                }
            }
        }
    }
}

到这个ViewController:

class BlueViewController: UIViewController {

    @IBOutlet weak var blueText: UILabel!
    var receptacle = "fail"

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        print(receptacle)
        blueText.text = receptacle
        print(receptacle)
    }
}

第一个ViewController中的print语句输出正确,但第二个ViewController中print语句的输出为fail fail,第二个中的标签为第二个视图显示“失败”。

由于这个原因,我有理由相信这是一个时间问题。

我是对的吗?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果您想以编程方式触发segue,则需要将 ViewController 图标中的$("#button").click(function(){ $("#button").css("background", "white"); }); segue从 ViewController连接到 BlueViewController

how to wire the segue

请务必将属性检查器 Storyboard Segue 标识符设置为goToBlue