iOS
NSPredicate: Komplexe Abfragen in iOS entwickeln
11 min
abfragen mit nspredicate einführung in diesem abschnitt lernen sie, wie sie nspredicate verwenden, um ihre abfragen in objective c zu definieren jederzeit können sie auf das vollständige projekt zugreifen, das mit diesem tutorial erstellt wurde, in unserem github repository voraussetzungen in diesem tutorial verwenden wir eine grundlegende app, die in objective c mit xcode 9 1 und ios 11 erstellt wurde um dieses tutorial abzuschließen, benötigen sie eine app, die bei back4app erstellt wurde hinweis befolgen sie das tutorial für neue parse apps , um zu lernen, wie man eine app bei back4app erstellt xcode grundlegende ios app hinweis wenn sie keine grundlegende app erstellt haben, können sie xcode öffnen und auf datei > neu > projekt > ios wählen sie dann app nachdem sie ihre grundlegende app erstellt haben, sind sie bereit, diesem leitfaden zu folgen hinweis das parse ios sdk funktioniert mit ios 7 0 oder höher 1 holen sie sich die vorlage laden sie die vorlage herunter unter back4apps github repository , und entpacken sie die dateien in ihrem projektordner sie können dies mit dem folgenden befehl tun $ curl lok https //github com/back4app/ios objective c quickstart example/archive/master zip && unzip master zip 2 öffnen sie die projektvorlage öffnen sie xcode klicken sie auf datei >öffnen datei >öffnen 3\ navigieren sie zum projektordner und doppelklicken sie auf quickstartobjcexampleapp xcworkspace quickstartobjcexampleapp xcworkspace 4\ warten sie, bis xcode das projekt geöffnet hat 3 das verständnis des unterschieds normalerweise haben sie für objective c zwei optionen zum erstellen von abfragen die verwendung von ‚pfquery‘ oder ‚nspredicate‘ beide funktionieren ähnlich, aber je nachdem, wie viele einschränkungen sie verwenden möchten, kann es sinnvoller sein, die eine anstelle der anderen zu verwenden zum beispiel wäre eine einfache abfrage mit pfquery 1 \[query wherekey @"playername" notequalto @"michael yabuti"]; 2 \[query wherekey @"playerage" greaterthan @18]; aber eine komplexere abfrage könnte so aussehen 1 \[query wherekey @"playername" notequalto @"michael yabuti"]; 2 \[query wherekey @"playerage" greaterthan @18]; 3 \[query wherekey @"playerheight" greaterthan @180]; 4 \[query wherekey @"playerweight" greaterthan @80]; 5 \[query wherekey @"playerfavoritecolour" notequalto @"blue"]; 6 \[query wherekey @"playerislefthanded" equalto @true]; 7 \[query wherekey @"playershoesize" notequalto @42]; 8 \[query wherekey @"playerlivingstate" equalto @"arizona"]; 9 \[query wherekey @"playerlivingcity" notequalto @"springfield"]; 10 \[query wherekey @"playermothersname" equalto @"jane"]; je nach fall können sie sich entscheiden, stattdessen ‚nspredicate‘ zu verwenden eine einfache abfrage mit ‚nspredicate‘ wäre 1 nspredicate predicate = \[nspredicate predicatewithformat @"playername != 'michael yabuti' und playerage > 18"]; 2 pfquery query = \[pfquery querywithclassname @"gamescore" predicate\ predicate]; während eine komplexere abfrage so aussehen könnte 1 nspredicate predicate = \[nspredicate predicatewithformat @"playername != 'michael yabuti' and playerage > 18 and playerheight > 180 and playerweight > 80 and playerfavoritecolour != 'blue' and playerislefthanded = true and playershoesize != 42 and playerlivingstate = 'arizona' and playerlivingcity != 'springfield' and playermothersname = 'jane'"]; 2 pfquery query = \[pfquery querywithclassname @"gamescore" predicate\ predicate]; 4 ausführen ihrer abfrage sie können dann ihre abfrage ausführen 1 \[query findobjectsinbackgroundwithblock ^(nsarray objects, nserror error) { 2 if (!error) { 3 // anfrage erfolgreich 4 } 5 }]; nächste schritte an diesem punkt haben sie gelernt, wie sie mit ios apps beginnen erfahren sie mehr, indem sie unsere ios tutorials oder überprüfen sie die open source dokumentation von parse für das ios sdk