In meiner iOS-App verwende ich das Parse.com-Framework. Wenn die App zum ersten Mal gestartet wird oder der Benutzer nicht angemeldet ist, werden PFLogInViewController
und PFSignUpViewController
in der Ansicht angezeigt. Wenn der Benutzer seinen Account erstellt, erstellt die Anwendung automatisch den Benutzer, wie immer, aber es wird auch eine andere Variable unter dem Benutzer erstellt, die isPrivate
heißt, die einen booleschen Wert aufruft. Meine Frage ist, wie verwende ich die PFQuery
, um den Wert isPrivate
für die currentUser
zu bekommen?Parse.com: PFQuery Abfrage von Daten aus PFUser currentUser
Antwort
Mit der Abfrage können Sie viele Objekte finden, die einem Kriterium entsprechen. Dies trifft nicht wirklich zu, wenn Sie das gewünschte Objekt (den aktuellen Benutzer) bereits kennen. Sie können entscheiden, ob die mit current
[PFUser.currentUser[@"isPrivate"] boolValue];
Obwohl in diesem speziellen Fall ist privat, Sie nicht wirklich ein eigenes Feld halten müssen, um festzustellen, ob der Benutzer ein anonymer Benutzer (die Art von automatischen Nutzern) . Versuchen:
[PFAnonymousUtils isLinkedWithUser:PFUser.currentUser];
Dies funktioniert für alle Authentifizierungs utils (PFFacebookUtils, PFTwitterUtils und PFAnonymousUtils). isLinkedWithUser bestimmt, ob diese Authentifizierungssysteme über Anmeldeinformationen für einen bestimmten Benutzer verfügen.
Lets sagen, ich habe auch eine andere Variable, die ein Array ist, wie würde ich das mit einem Array machen? –
Wenn Sie versuchen, den Wert von einem bestimmten Objekt zu erhalten, dann können Sie davon ausgehen, dass Sie ein NSArray zurückbekommen, wenn Sie diese Eigenschaft erhalten (zB NSArray) * property = myObj [@ "arrayProperty"]). Andernfalls können Sie ein P verwenden FQuery isEqualTo. Vergleichen eines Skalars mit einem Array gibt Objekte zurück, in denen sich der Skalar im Array befindet (z. B. Dies ist am häufigsten bei PFInstallation, wo der Cloud-Code die Abonnenten von "channel" überprüft, indem er überprüft, wo das Array "channels" gleich "channel" ist). –
Alles funktioniert gut, aber wenn ich versuche [[PFUser.currentUser [@ "Spitzname"] stringValue] ;. Die Konsole gibt Folgendes aus: "- [__ NSCFString stringValue]: nicht erkannter Selektor, der an die Instanz gesendet wurde". Was mache ich falsch? –
Nachdem ich mit PFObject, PFUser und PFQuery herumgespielt habe, fand ich die Antwort auf meine Frage. Sie müssen eine PFQuery erstellen, die die PFUser-Klasse abfragt, dann müssen Sie die Abfrage auf nur currentUser username
eingrenzen und dann den Wert isPrivate
anfordern.
PFQuery *query= [PFUser query];
[query whereKey:@"username" equalTo:[[PFUser currentUser]username]];
[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error){
BOOL isPrivate = [[object objectForKey:@"isPrivate"]boolValue];
}];
Also versuche ich einen PFUser mit 'name' anstatt 'benutzername' abzufragen. Aus irgendeinem Grund funktioniert die Abfrage nicht. Kann ich etwas falsch machen? Ich benutze im Grunde den gleichen Code wie Sie, aber ich bekomme keine Ergebnisse ... :( – jsetting32
@ jsetting32 Es könnte ein paar Dinge passieren, und mit dem Code oder mehr Hintergrundinformationen wird es nur herum stochern in der dunkel, aber ein paar Dinge, die es sein könnte, ist in der zweiten Zeile des Codes, stellen Sie sicher, dass der genaue Schlüssel im Parse.com Datenbrowser vorhanden ist und stellen Sie sicher, dass Sie den richtigen Namen haben, dh: das gleiche wie das unter dem Schlüssel in Parse.com Daten-Browser, den Sie beschrieben haben.Weitere Bereich, den ich sehe, dass Sie Probleme verursachen können, ist die dritte Zeile des Codes, innerhalb des Blocks von Code ... (lief aus Zeichen). –
- 1. Zusammengesetzte Abfrage für Parse.com mit REST-API
- 2. PFQuery findObjectsInBackgroundWithBlock wird nicht aufgerufen?
- 3. PFUser Daten verlieren
- 4. Zugang zu [PFUser current] verursacht Deadlock
- 5. oder Abfrage mit Include
- 6. parse.com Abfrage zu SQLite Abfrage
- 7. Abrufen von Daten aus parse.com und Anzeigen in einem Tabellenlayout
- 8. Parse.com Abfrage für Spalte, die nicht null ist auf iOS
- 9. Wie verwende ich pfquery in parse.com Filterung auf einem booleschen Feld in ios?
- 10. So erhalten Sie Daten von Parse.com Datenbank
- 11. Android Äquivalent dieser Parse-Abfrage für IOS
- 12. PFQuery mit mehreren Einschränkungen für einen Schlüssel
- 13. Wie gebe ich das aktuelle parse.com-Sitzungstoken zurück
- 14. PFQuery kann Daten nicht aufrufen, die gespeichert werden
- 15. Ermitteln des richtigen Typs beim Unterklassen-Erstellen von PFUser
- 16. Vergleichen Sie Daten mit Parse.com
- 17. Wie wird der Integer-Wert in PFQuery wo Abfrage festgelegt?
- 18. Parse.com mit iOS App und Objective-C Code
- 19. Wie ein „wie“ Abfrage in Parse.com
- 20. Abrufen von Daten aus einer mySQL-Abfrage
- 21. Abfrage Abrufen von Daten aus der Datenbank
- 22. Parse.com - Wie aktualisiert man die Informationen des Benutzers
- 23. Swift Array.contains() stellt nicht gleichzusetzen Funktion von PFUser Unterklasse
- 24. Fehler nach PFUser logout und PFFacebookUtils logInInBackgroundWithReadPermissions
- 25. Parse.com: Abfrage mit Datum und UTC
- 26. Wie ändere ich den ursprünglichen View-Controller mit einem PFUser?
- 27. parse.com 'retweet' Muster ist zu ausführlich
- 28. Realistische Datensicherungsmethode für Parse.com
- 29. Parse.com Sync-Daten von einem Konto zu einem anderen
- 30. Admin-Panel für die Eingabe von Daten für Parse.com?
PFUser hat eine eigene Methode [PFUser query], um Benutzer abzufragen. – Martol1ni