我有一个iOS项目,我正在使用Xcode 7.3.1和Swift2。在我的项目中有30个编码 <dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-ftp</artifactId>
<version>2.15.1</version>
</dependency>
,每个都为其分配了UITextFields
。我也在使用action
。用户输入文本后,我希望保存文本。我在这里搜索了关于放置保存代码的最佳位置的答案。我不希望这个项目对设备的内存造成负担。使用UITextFieldDelegate
和NSObject
保存文字更好,例如:
NSCoding
然后,我可以保存文本存储的class TextFieldSave: NSObject, NSCoding {
var userText: String = ""
var textFieldName: String = ""
...
}
的名称,并通过textField
保存。
或者用NSCoding
简单保存会减少内存吗?
我可以将保存代码放在每个NSUserDefaults
的操作中,或以某种方式将所有30个代码合并到textField
的{{1}}部分中。不确定哪个最好。我认为textFieldDidEndEditing
是最简单的,但对于内存使用来说并不是必需的。
感谢您的建议和帮助。
答案 0 :(得分:0)
我最终通过NSUserDefaults
保存,保存代码位于我在代码中创建的每个UITextField
action
。
// Declaration of Variable
var nameDefaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
在每个action
中:
nameDefaults.setObject(variable, forKey: "KEYname")
nameDefaults.synchronize()
要加载这些保存的值,我创建了function
并在ViewWillAppear
中运行该功能。效果很好,似乎没有太多使用系统内存。
override func viewWillAppear(animated: Bool) {
loadData()
}
loadData
是:
if (nameDefaults.objectForKey("KEYname") != nil) {
variable = (nameDefaults.objectForKey("KEYname") as! String)
textField.text = variable
print(variable)
} else {
print("nil")
}