保存ViewController

时间:2015-06-25 20:14:13

标签: ios iphone swift uitextfield viewcontroller

我有一个程序,用户将在一个视图控制器中输入数据,并在另一个视图控制器中计算信息。我已经达到了可以输入数据的程度,当我转到SecondViewController时,我可以访问我的数据。但是当我切换回第一个ViewController时,UITextFields是空白的,因为ViewController被重新实例化。

基本上我的应用程序到目前为止有一个带有两个UITextfields的ViewController和一个显示数据的SecondViewController。当我在两者之间切换时,我需要一种方法来保存第一个ViewController的实例。

我已尝试使用iOS Swift, returning to the same instance of a view controller的答案,但你的变量无法设置为零,所以我被困在那里。

这是我从第一个ViewController到SecondViewController

的代码
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
  {
  if (segue.identifier == "Show")
     {
      var destinationVC = segue.destinationViewController as! MainViewController
     }
  }

我只有一个按钮,我按下该按钮返回第一个ViewController。

1 个答案:

答案 0 :(得分:1)

您可以创建一个类来存储您的文本文件,在appdelegate中创建它的实例(在全局范围内),并使用observer将文本数据提供给文本字段。如果您的应用程序不像您描述的那么简单,那么类的全局实例可能不是最佳选择,在这种情况下,您可以使用NSUsersDefault将其保存为plist。我希望我能帮助:)

//in first view controller
@IBOutlet weak var textfield: UITextField!{
    didSet{
        textfield.text = text
    }
}
var text:String = ""{
    didSet{
        textfield?.text = text
    }
}
func override viewWillAppear(animated: Bool) {
    //set value of text from your global class instance or
    //decode it here from the archive file if you used NSUsersDefault 
    text = 
}