Hi,
I’m a Parse convertee and has run in to a bit of trouble.
I have a class that I try to save to the server.
class BodyTrack: BackendlessEntity {
let backendless = Backendless.sharedInstance()
var user: BackendlessUser
var trackingDate: NSDate
var chest: Double = 0.0
var upperArm: Double = 0.0
var waist: Double = 0.0
var hip: Double = 0.0
var thigh: Double = 0.0
var weight: Double = 0.0
var bodyFat: Double = 0.0
var fatFreeMass: Double = 0.0
var totalBodyWater: Double = 0.0
var bodyMassFat: Double = 0.0
var smm: Double = 0.0
init(user: BackendlessUser) {
self.user = user
self.trackingDate = NSDate()
self.chest = 0.0
self.upperArm = 0.0
self.waist = 0.0
self.hip = 0.0
self.thigh = 0.0
self.weight = 0.0
self.bodyFat = 0.0
self.fatFreeMass = 0.0
self.totalBodyWater = 0.0
self.bodyMassFat = 0.0
self.smm = 0.0
}
// MARK: - Backendless
func saveToServer() -> Bool {
let dataStore = backendless.data.of(BodyTrack.ofClass())
dataStore.save(
self,
response: { (result: AnyObject!) -> Void in
let obj = result as! BodyTrack
print("BodyTrack has been saved: \(obj.objectId)")
},
error: { (fault: Fault!) -> Void in
print("Server reported an error: \(fault)")
})
return false
}
However, when I run this i get an error and crash.
*** Terminating app due to uncaught exception ‘NSUnknownKeyException’, reason: ‘[<Backendless 0x7fd1f2506dc0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key appID.’
I’m calling the save function from the viewcontroller like this;
let track = BodyTrack(user: backendless.userService.currentUser)
track.trackingDate = Utils.dateFromString(dateTF.text!, format: "dd/MM/yyyy")
track.weight = (weightTF.text! != "") ? Double(weightTF.text!)! : 0.0
track.chest = (chestTF.text! != "") ? Double(chestTF.text!)! : 0.0
track.upperArm = (upperArmTF.text! != "") ? Double(upperArmTF.text!)! : 0.0
track.waist = (waistTF.text! != "") ? Double(waistTF.text!)! : 0.0
track.hip = (hipTF.text! != "") ? Double(hipTF.text!)! : 0.0
track.thigh = (thighTF.text! != "") ? Double(thighTF.text!)! : 0.0
track.bodyFat = (bodyfatTF.text! != "") ? Double(bodyfatTF.text!)! : 0.0
track.fatFreeMass = (ffmTF.text! != "") ? Double(ffmTF.text!)! : 0.0
track.totalBodyWater = (tbwTF.text! != "") ? Double(tbwTF.text!)! : 0.0
track.bodyMassFat = (bfmTF.text! != "") ? Double(bfmTF.text!)! : 0.0
track.smm = (smmTF.text! != "") ? Double(smmTF.text!)! : 0.0
track.saveToServer()
I would be grateful for any help to point out where I have gone wrong.