Parse platform parse.com更新对象将创建新的对象ID
我是新来解析的。我正在尝试更新已保存在分析后端的对象。我使用GetObjectInBackgroundHitid并提供对象ID。当我尝试用新数据更新时,应用程序告诉我它成功保存了一条新记录,当我查看后端时,我现在有两条具有不同对象ID的记录。下面是我在更新按钮中的代码。在我的应用程序中,它会传入对象ID,但我尝试过用同样的结果对对象ID进行编码 @iAction func updateAccountPressed(发件人:AnyObject){ 当你这样做的时候Parse platform parse.com更新对象将创建新的对象ID,parse-platform,Parse Platform,我是新来解析的。我正在尝试更新已保存在分析后端的对象。我使用GetObjectInBackgroundHitid并提供对象ID。当我尝试用新数据更新时,应用程序告诉我它成功保存了一条新记录,当我查看后端时,我现在有两条具有不同对象ID的记录。下面是我在更新按钮中的代码。在我的应用程序中,它会传入对象ID,但我尝试过用同样的结果对对象ID进行编码 @iAction func updateAccountPressed(发件人:AnyObject){ 当你这样做的时候 ... } else if le
...
} else if let accountInfo = accountInfo {
...
实际上,您正在创建一个名为accountInfo
的新变量,并将获取的对象分配给它。然后,您正在对刚刚创建的新PFObject
调用saveInBackground()
方法,从而在Parse中创建一个新记录。只需更改if
语句:
if error != nil {
print(error)
} else {
accountInfo["Type"] = self.pickedAccountType
accountInfo["NumberOrNickname"] = self.accountNumNickname.text
accountInfo["InitialBalance"] = self.initialBalance.text
accountInfo.saveInBackground()
}
事实证明,我以某种方式将“更新”按钮与“更新”和“添加”功能链接在一起。删除链接后,该按钮更新良好,没有新的objectID。感谢您的反馈。当我删除该链接时,会出现错误“无法为“PFObject”类型的值下标”。如果我输入“!”我可以清除该错误在accountInfo之后,但当我这样做时,它仍然在Parse中创建另一条记录。
if error != nil {
print(error)
} else {
accountInfo["Type"] = self.pickedAccountType
accountInfo["NumberOrNickname"] = self.accountNumNickname.text
accountInfo["InitialBalance"] = self.initialBalance.text
accountInfo.saveInBackground()
}