[英]Passing data between view controllers inside page view controllers in Swift
抱歉,如果有人问过这个特殊问题,我在其他线程上遵循了答案,但是似乎都没有用,但是我刚刚开始学习Swift,所以对我来说所有这些都是很新的。
因此,我在两个View Controller中都有一个文本字段,我希望第三个View Control在按下按钮时根据来自其他两个控制器的输入显示结果。
我按照本教程进行操作 ,并像我之前所说的那样放置了文本字段,标签和按钮。 我将代码(您可以在下面看到)放置在ViewControl.swift中。
问题是,当我尝试运行它时,在最后两行中出现“线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)”错误。
class ViewController: UIViewController {
var a: String = ""
var b: String = ""
@IBOutlet weak var aTextField: UITextField!
@IBOutlet weak var bTextField: UITextField!
@IBOutlet weak var calculateButton: UIButton!
@IBOutlet weak var resultLabel: UILabel!
@IBAction func calculateButtonPressed(_ sender: UIButton) {
let a = aTextField.text!;
let b = bTextField.text!;
我认为错误是由于数据没有在视图之间传递(因为在同一视图中所有数据都可以正常工作之前),但是由于我只有一个ViewController.swift文件,所以我不知道该如何使用Segue公司。
不要多次声明相同的变量。 在a
& b
之前删除let
。 您已经在全局中声明a
& b
,然后尝试在IBAction
重新声明它
class ViewController: UIViewController {
var a: String = ""
var b: String = ""
@IBOutlet weak var aTextField: UITextField!
@IBOutlet weak var bTextField: UITextField!
@IBOutlet weak var calculateButton: UIButton!
@IBOutlet weak var resultLabel: UILabel!
@IBAction func calculateButtonPressed(_ sender: UIButton) {
a = aTextField.text!;
b = bTextField.text!;
@IBAction func calculateButtonPressed(_ sender: UIButton) { self.a = aTextField.text! self.b = bTextField.text! }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.