2016-08-09 32 views
-2

Also wenn ich die Abfrage für den Benutzer in der Klasse gespeichert post. Es sagt mir, dass keine Daten existieren, obwohl es in meinem Backend gespeichert ist. Warum fragt die Datenbank nicht korrekt ab?PFQuery kann Daten nicht aufrufen, die gespeichert werden

class DropLoc: UIViewController, CLLocationManagerDelegate { 

var user = PFUser.currentUser()?.objectId 
var post = PFObject(className:"Post") 
var query = PFQuery(className:"Post") 
var point: PFGeoPoint! 
let porta = CLLocationManager() 


func setporta() { 

    var curGate = porta.location 

    self.porta.delegate = self 
    self.porta.desiredAccuracy = kCLLocationAccuracyBest 
    self.porta.requestWhenInUseAuthorization() 
    self.porta.startUpdatingLocation() 
    point = PFGeoPoint(location: curGate) 


    query.whereKey("user", equalTo: user!) 
    query.getFirstObjectInBackgroundWithBlock() {(object: PFObject?, error: NSError?) -> Void in 
     if error != nil { 
     }else{ 
      self.post["user"] = self.user ?? NSNull() 
      self.post["location"] = self.point ?? NSNull() 
      self.post.saveInBackground() 
      } 
     } 
    } 
} 
+0

Es ist wirklich schwer zu verstehen, Ihre Frage .. können Sie bitte versuchen, es neu zu definieren? –

+0

Also, ich denke, was Sie versuchen zu tun ist, dass, wenn die Abfrage feststellt, dass der Benutzer nichts zu tun hat, aber wenn es keinen Benutzer gleich dem aktuellen Benutzer gibt, um seine Daten richtig zu speichern? –

+0

Sorry für die Verwirrung. Ich versuche, es abfragen zu sehen, ob der aktuelle Benutzer Daten in der Post-Klasse des Mongodb hat. Wenn sie es verwenden, aktualisieren Sie die Benutzerinformationen. Aber mein Problem ist, dass es den Benutzer nicht fragt, es sagt nichts gefunden wird. Anscheinend hat meine Frage auch einige Leute verärgert. –

Antwort

0

Ich konnte die Abfrage nicht richtig funktionieren, weil ich die Datenbank reparieren musste. Zuerst musste ich die alte Post-Klasse löschen, dann löschte ich das _Schema for Post. Zuletzt musste ich den zu setzenden Benutzer nach Benutzername ändern.

var user = PFUser.currentUser()?.username