Ich Auswählen einer Zelle in der Tabellendarstellung, vorbei Wert zu aktualisieren Controller anzuzeigen und dann erlauben Benutzer die Reihe auf Parse (läuft auf Heroku) unter Verwendung von Code zu aktualisieren.Nicht imstande Bilddatei in Spalte Parse Verwendung Swift
Ausgabe i bin vor ist - Spalte „Titel“ wird aktualisiert, aber Bild-Datei Spalte tut ausgewählt mit neuen Bild aktualisiert. Ich kann sehen, dass das neue Bild tatsächlich in den Code übertragen wird.
ich synchronen Aufruf verwenden, weil Sie nicht Benutzer will vorankommen, es sei denn Datensatz gespeichert wird.
was könnte falsch sein? Derselbe Code zum Speichern eines neuen Objekts funktioniert einwandfrei.
Dank Ashish
let query = PFQuery(className:"class")
query.whereKey("objectId", containsString: passedObject.objectId)
do {
let results = try query.findObjects()
if results.count == 0 {
print("error")
success = false
} else {
//update
do {
let obj = results.first
obj!["title"] = Title.text!
let imageData = UIImageJPEGRepresentation(imageOutlet.image!,0.2)
let imageFile = PFFile(name: "image.png", data: imageData!)
//try imageFile?.save() // is this needed?
obj!["imagefile"] = imageFile
try obj!.save()
self.success = true
} catch let er as NSError {
print(" error while updating - \(er)")
}
}
} catch {
print("error while querying \(error)")
success = false
}
Können Sie bitte die save() Funktion auf die Datei ausführen und sehen, ob Sie Ergebnisse? Ich habe auch bemerkt, dass Sie die Synchronisierung Aufruf an den Server ausführen dies ist etwas, das Ihr Hauptthread stecken wird, können Sie dies auf dem Hintergrund-Thread ausgeführt werden kann durch saveInBackground Aufruf und nicht –
speichern Ich habe laufen save() auf Datei, aber das tat es nicht arbeite auch. Ich mache sync-Aufruf absichtlich, wie ich mit abuse segue benutze, wenn ich saveInBackground benutze, dann wird Thread zurückgeben, bevor das Speichern abgeschlossen wird, was ich nicht will. – ashishn
Können Sie bitte den Code Ihrer imageOutlet-Definition einfügen? –