iOS
Interrogazioni avanzate in iOS con NSPredicate e Objective-C
11 min
interrogare con nspredicate introduzione in questa sezione imparerai come utilizzare nspredicate per definire le tue query in objective c in qualsiasi momento, puoi accedere al progetto completo realizzato con questo tutorial nel nostro https //github com/templates back4app/ios install sdk prerequisiti in questo tutorial utilizzeremo un'app di base creata in objective c con xcode 9 1 e ios 11 per completare questo tutorial, hai bisogno di un'app creata su back4app nota segui il https //www back4app com/docs/get started/new parse app per imparare come creare un'app su back4app xcode app ios di base nota se non hai un'app di base creata, puoi aprire xcode e fare clic su file > nuovo > progetto > ios poi seleziona app dopo aver creato la tua app di base, sei pronto per seguire questa guida nota il sdk ios di parse funziona con ios 7 0 o superiore 1 ottieni il modello scarica il modello su https //github com/back4app/ios objective c quickstart example/archive/master zip , e decomprimi i file nella tua cartella di progetto puoi farlo usando il seguente comando $ curl lok https //github com/back4app/ios objective c quickstart example/archive/master zip && unzip master zip 2 apri il modello di progetto apri xcode clicca su file >apri file >apri 3\ naviga nella cartella del progetto e fai doppio clic su quickstartobjcexampleapp xcworkspace quickstartobjcexampleapp xcworkspace 4\ aspetta che xcode apra il progetto 3 comprendere la differenza di solito, per objective c hai due opzioni per costruire query utilizzare il ‘pfquery’ o il ‘nspredicate’ entrambi funzionano in modo simile, ma a seconda di quanti vincoli vuoi utilizzare, potrebbe avere più senso utilizzare uno piuttosto che l'altro ad esempio, una query semplice utilizzando pfquery sarebbe 1 \[query wherekey @"playername" notequalto @"michael yabuti"]; 2 \[query wherekey @"playerage" greaterthan @18]; ma una query più complessa potrebbe diventare 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"]; quindi, a seconda di ogni caso, puoi scegliere di utilizzare ‘nspredicate’ invece una query semplice utilizzando ‘nspredicate’ sarebbe 1 nspredicate predicate = \[nspredicate predicatewithformat @"playername != 'michael yabuti' e playerage > 18"]; 2 pfquery query = \[pfquery querywithclassname @"gamescore" predicate\ predicate]; mentre una query più complessa potrebbe diventare 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 esecuzione della tua query puoi, quindi, eseguire la tua query 1 \[query findobjectsinbackgroundwithblock ^(nsarray objects, nserror error) { 2 if (!error) { 3 // richiesta riuscita 4 } 5 }]; prossimi passi a questo punto, hai imparato come iniziare con le app ios scopri di più passeggiando tra i nostri https //www back4app com/docs/ios/ios app template o controlla https //docs parseplatform org/ios/guide/