我有自己的自定义数据结构,通过ViewController类接收输入。界面是一个简单的文本字段,它链接到一个变量,该变量将文本字段的内容复制到该变量中。启动应用程序后,文本字段应预填充过去输入的数据。但是,只要我关闭应用程序,数据就会丢失。我是编程新手,并假设可以通过在AppDelegate类中实现必要的函数来解决这个问题,更具体地说,在默认的applicationWillTerminate函数下。如果这是正确的,我该如何实现数据保存过程?如果不是,那么&如何确保输入的数据已存储,以便下次打开应用程序时预填充字段?
答案 0 :(得分:0)
如果您需要存储少量数据,请查看NSUserDefaults。
如果您的数据更适合数据库,您可以使用SQLite(可以使用包装器)或Core Data。
还有一个现代但尚未成熟的跨平台移动数据库,名为Realm(目前部分开源)。
答案 1 :(得分:0)
由于您要保存TextField数据(主要使用小字符串文本),请使用NSUserDefaults存储字符串以进行持久化。您需要做的是在textFieldEndEditing中将文本保存到NSUserDefaults,并在viewDidLoad中将其分配给textField。
保存到NSUserDefaults:
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(myTextField.text, forKey: "TextFieldText")
defaults.synchronize()
从NSUserDefaults检索:
let defaults = NSUserDefaults.standardUserDefaults()
if let savedText = defaults.stringForKey("TextFieldText")
{
print("Textfield Text: \(savedText)")
}