Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何保存输入的数据以使其在应用程序重新启动后可用_Ios_Swift_Core Data - Fatal编程技术网

Ios 如何保存输入的数据以使其在应用程序重新启动后可用

Ios 如何保存输入的数据以使其在应用程序重新启动后可用,ios,swift,core-data,Ios,Swift,Core Data,我有自己的自定义数据结构,通过ViewController类接收输入。该接口是一个简单的文本字段,它链接到文本字段内容复制到的变量。启动应用程序时,文本字段应预先填充过去输入的数据。但是,一旦我关闭应用程序,数据就会丢失。我是编程新手,并且假设可以通过在AppDelegate类中实现必要的函数来解决这个问题,更具体地说,在默认的applicationWillTerminate函数下。如果这是正确的,我如何实施数据保存过程?如果没有,我如何确保存储输入的数据,以便下次打开应用程序时预填充字段?如果

我有自己的自定义数据结构,通过ViewController类接收输入。该接口是一个简单的文本字段,它链接到文本字段内容复制到的变量。启动应用程序时,文本字段应预先填充过去输入的数据。但是,一旦我关闭应用程序,数据就会丢失。我是编程新手,并且假设可以通过在AppDelegate类中实现必要的函数来解决这个问题,更具体地说,在默认的applicationWillTerminate函数下。如果这是正确的,我如何实施数据保存过程?如果没有,我如何确保存储输入的数据,以便下次打开应用程序时预填充字段?

如果需要存储少量数据,请查看

如果您的数据更适合数据库,则可以使用SQLite(可能带有包装器)或


还有一个现代但还不是很成熟的跨平台移动数据库,名为(目前部分开源)。

因为您正在保存文本字段数据(大部分使用小字符串文本),所以请使用NSUserDefaults存储字符串以备持久化。您需要做的是在TextFieldEndEdit将文本保存到NSUserDefaults,并在viewDidLoad中将其分配给textField

保存到NSUserDefaults:

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(myTextField.text, forKey: "TextFieldText")
defaults.synchronize()
let defaults = NSUserDefaults.standardUserDefaults()
if let savedText = defaults.stringForKey("TextFieldText")
{
    print("Textfield Text: \(savedText)")
}
正在从NSUserDefaults检索:

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(myTextField.text, forKey: "TextFieldText")
defaults.synchronize()
let defaults = NSUserDefaults.standardUserDefaults()
if let savedText = defaults.stringForKey("TextFieldText")
{
    print("Textfield Text: \(savedText)")
}

使用core数据存储结构值:)从coredata获取数据,在重新启动应用程序时预填充结构和文本字段