Hello,
I am working with backendless.
After saving data object in backendless table, I can’t update data object.
I have tried several times, but, I have failed.
I have checked following link
https://backendless.com/documentation/data/ios/data_updating_data_objects.htm
But, I don’t understand well
here are sample code
func updateContactAsync(contact:Contact) { let dataStore = Backendless.sharedInstance().data.of(Contact.ofClass()) // update object asynchronously contact.title = “Superman” contact.phone = “212-555-5555” dataStore.save( contact, response: { (result: AnyObject!) -> Void in let updatedContact = result as! Contact print(“Contact has been updated: (updatedContact.objectId)”) }, error: { (fault: Fault!) -> Void in print(“Server reported an error (2): (fault)”) })}
In above code, we receive custom table from parameter.
I am sorry, Would you please explain how to get it?
Regards
Andrei
Here are my sample code
func uploadLoginUser(phone: String, results: @escaping ((_ success: Bool) -> Void)) {
let userInfo = UserInformation()
userInfo.userOneId = backendless!.userService.currentUser.objectId! as String
userInfo.phoneNumber = phone
userInfo.signIn = "true"
backendless!.data.of(UserInformation.ofClass())!.save(userInfo, response: { (result: Any?) -> () in
results(true)
ProgressHUD.dismiss()
}) { (fault) in
results(false)
ProgressHUD.showError("Error Sending activation code: \(fault!.detail!)")
}
}
Hello Andrei,
Firstly, we have our Contact table with the string fields: title and phone and some records in it (screenshot 1).
Here is Contact class description in the Swift project:
@objcMembers
class Contact: NSObject {
var title: String?
var phone: String?
}
The code below describes all steps of object update with the comments. The result is on the screenshot 2.
func updateContact() {
// first of all we're receiing the contact we want to update
// e.g. it will be the contact with phone number '212-555-6666' (screenshot 1)
let queryBuilder = DataQueryBuilder()!
queryBuilder.setWhereClause("phone = '212-555-6666'")
backendless.data.of(Contact.ofClass()).findFirst(
queryBuilder,
response: { contactThatWillBeUpdated in
// and now we can update it with a new phone number '212-555-5555'
(contactThatWillBeUpdated as! Contact).phone = "212-555-5555"
// and save the updated contact
self.backendless.data.of(Contact.ofClass()).save(
contactThatWillBeUpdated,
response: { alreadyUpdatedContact in
print("Updated contact '\((alreadyUpdatedContact as! Contact).title!)' with a new phone number: \((alreadyUpdatedContact as! Contact).phone!)")
}, error: {fault in
print("Failed to update contact: \(fault!.message)")
})
},
error: { fault in
print("Failed to find the contact: \(fault!.message)")
})
}
Regards, Olga