我想在编辑后更新数据。因为我需要以前的数据。 但在我编辑后的情况下,保存前一个值的变量将被当前值替换。 我怎么能保持以前的值?
if itemToEdit == nil{
item = TestDataModel()
else{
item = itemToEdit
selectedItemToEdit = itemToEdit
// print(selectedItemToEdit?.title)
print(item.title)
// print(itemToEdit?.title)
}
if let title = titleField.text {
item.title = title
print(item.title)
}
// print(selectedItemToEdit.title!)
print(itemToEdit?.title!)
if let price = pricefield.text {
item.price = (price as NSString).doubleValue
print(item.price)
}
if let details = detailsField.text {
item.details = details
print(item.details)
}
itemToEdit,是我想要编辑/更新的内容。这就是我将它存储在selectedItemToEdit中的原因。在项目中,我已经在编辑后存储了数据。 我需要我在文本字段中输入的先前值和当前值。 我怎么能得到那个。请任何一个帮助......
答案 0 :(得分:1)
当您尝试保存以前的信息时,您正在做的只是创建一个指向同一对象的新变量。当对象发生变化时,使用哪个变量检查它并不重要,您将看到该对象的变化。
这是一个游乐场示例,可以让您了解两个对象与两个指向同一对象的指针之间的区别。
class MyData {
var title = "Default"
init() {
}
init(source: MyData)
{
title = source.title
}
}
var d1 = MyData()
var d2 = d1
var d3 = MyData(source: d1)
d1.title = "changed"
print(d2.title)
print(d3.title)
答案 1 :(得分:0)
var selectedItemToEdit: string!
selectedItemToEdit = itemToEdit.title
我将该字符串类型变量和编辑过的变量传递给了保存函数。