在UITextField上保存并加载文本

时间:2016-06-29 10:07:56

标签: ios objective-c xcode swift cocoa-touch

我在一个问题上挣扎了几个小时。基本上,我有一个简单的Swift应用程序。它是这样的。在我的第一个视图控制器中,我有3个文本字段,我想用信息和“下一步”按钮填充它们。

按下“下一步”按钮会将我发送到一个新的UIViewController,我将在其中有一个“后退”按钮。按下后退按钮后,我将发送回第1页,其中包含3个文本字段。

我想要的是:如果我使用信息填写文本字段,请按“下一步”,然后按“返回”,我希望文本字段填充该信息。

我设法用按钮在视图之间移动,但我无法保存信息。你能给我一点帮助吗?

@IBOutlet weak var txtb1: UITextField!
@IBOutlet weak var txtb2: UITextField!
@IBOutlet weak var txtb3: UITextField!


@IBAction func next(sender: AnyObject) {
    text1 = self.txtb1.text!
    text2 = self.txtb2.text!
    text3 = self.txtb3.text!  }

override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        if (!text1)
        {
            txtb1.text = text1
        }

    }

3 个答案:

答案 0 :(得分:0)

如果您想将变量传递给不同的视图,则必须先使用 prepareForSegue 函数,然后才能进入该视图控制器。

这允许视图控制器访问变量。

Override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!)
{
    if segue.identifier == "segue_name"
    {
        let theDestination = segue.destinationViewController as! newViewController
        theDestination.variable = "testing"
        theDestination.variable2 = "testing2"
    }
}

然后在你的第二个视图控制器中你必须声明变量和变量2,如下所示:

var variable:String!
var variable2:String!

然后,这些将能够在 viewDidLoad 方法内的第二个视图控制器中使用。

答案 1 :(得分:0)

确定。我设法解决了一些问题,该按钮没有相应的链接,所以功能没有执行。这是代码:

var text1 = ""
@IBOutlet weak var txtb1: UITextField!

@IBAction func next(sender: AnyObject) {

    text1 = self.txtb1.text! // text1 = "I am taking value"
}

// when i press the back button
override func viewDidLoad() {
        super.viewDidLoad()
        if (!numarInmatriculare.isEmpty)
        {
            txtb1.text = text1    //here text1 = Null. the value is not saved
        }
    }

我希望将值保存并显示在文本字段中。

我也试过使用静态varibiles但是我提示错误。

static var numar:String = ""
numar = text1
//static member 'numar'cannot be used on instance of type 'viewcontroller' 

答案 2 :(得分:0)

你不需要为这种情况做任何事情,一旦文字字段提交然后你点击下一个按钮,你在我下面写了一些代码

  text1 = self.txtb1.text!
  text2 = self.txtb2.text!
  text3 = self.txtb3.text!

请先删除代码,一旦填写了文本数据,它会自动保留,单击下一步按钮后自动返回它会保留,当您弹出当前视图时,只会释放您的数据。

相关问题