Warum werden meine Daten nicht an das Kinvey-Back-End gesendet? Meine App stürzt ab und ich bekomme den Fehler SIGABRT
. Ich habe versucht, die String
zu NSString
zu ändern, aber das hat nicht geholfen. Aus irgendeinem Grund zeigt mein Dashboard in Kinvey API-Aufrufe und Datenspeicherung, speichert aber nichts (ich bin ein Anfänger).SIGABRT Fehler beim Senden von Daten an Kinvey
import UIKit
class ReservationViewController: UIViewController {
@IBOutlet weak var userName: UITextField!
@IBOutlet weak var userEmail: UITextField!
@IBOutlet weak var userSeat: UITextField!
@IBOutlet weak var userDateTime: UIDatePicker!
@IBAction func sendReservation(sender: AnyObject) {
// STORE DATA
let store = KCSAppdataStore.storeWithOptions([
KCSStoreKeyCollectionName : "userReservation",
KCSStoreKeyCollectionTemplateClass : Booking.self
])
let reservation = Booking()
reservation.name = userName.text
reservation.email = userEmail.text
reservation.seats = userSeat.text
reservation.date = NSDate(timeIntervalSince1970: 1352149171) //sample date
store.saveObject(
reservation,
withCompletionBlock: { (objectsOrNil: [AnyObject]!, errorOrNil: NSError!) -> Void in
if errorOrNil != nil {
//save failed
NSLog("Save failed, with error: %@", errorOrNil.localizedFailureReason!)
} else {
//save was successful
NSLog("Successfully saved event (id='%@').", (objectsOrNil[0] as! NSObject).kinveyObjectId())
}
},
withProgressBlock: nil
)
}
class Booking : NSObject { //all NSObjects in Kinvey implicitly implement KCSPersistable
var entityId: String? //Kinvey entity _id
var name: NSString?
var email: NSString?
var seats: NSString?
var date: NSDate?
}
override func hostToKinveyPropertyMapping() -> [NSObject : AnyObject]! {
return [
"entityId" : KCSEntityKeyId, //the required _id field
"name" : "name",
"email" : "email",
"seats" : "seats",
"date" : "date",
]
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Entschuldigung dafür, nicht früher zu antworten, ich war in den letzten 3 Wochen im Urlaub Ich werde dies testen, sobald ich diese Woche wiederkomme !, Ich bin immer noch ein wenig verwirrt, was Sie meinen, indem Sie eine neue Datei erstellen? – Kevin
Kein Problem, ich habe nur Spaß gemacht! Ich meinte, Sie sollten Ihrem XCode-Projekt eine neue Swift-Datei hinzufügen und den Code für die Booking-Klasse dort einfügen, nur um ihn klar von Ihrem ReservationViewController zu trennen. Ich denke, dass sie zwei völlig getrennte Klassen sein sollten. – ConfusedByCode
Wie rufe ich den Code auf, wenn er in einer neuen Klasse ist und nicht mit dem Reservierungsansicht-Controller verbunden ist? Es tut mir leid, irgendwie neu zu diesem ... – Kevin