iOS
Как использовать NSPredicate для построения запросов в iOS
11 мин
запросы с помощью nspredicate введение в этом разделе вы узнаете, как использовать nspredicate для определения ваших запросов в objective c в любое время вы можете получить доступ к полному проекту, созданному с помощью этого учебника, в нашем репозитории github предварительные требования в этом руководстве мы будем использовать базовое приложение, созданное на objective c с помощью xcode 9 1 и ios 11 чтобы завершить это руководство, вам нужно приложение, созданное в back4app примечание следуйте за руководством по созданию нового parse app чтобы узнать, как создать приложение в back4app xcode базовое ios приложение примечание если у вас нет созданного базового приложения, вы можете открыть xcode и нажать file > new > project > ios затем выберите app после того как вы создадите ваше базовое приложение, вы готовы следовать этому руководству примечание parse ios sdk работает с ios 7 0 или выше 1 получите шаблон скачайте шаблон по адресу репозиторий back4app на github , и распакуйте файлы в папке вашего проекта вы можете сделать это, используя следующую командную строку $ curl lok https //github com/back4app/ios objective c quickstart example/archive/master zip && unzip master zip 2 откройте шаблон проекта откройте xcode нажмите на файл >открыть файл >открыть 3\ перейдите в папку проекта и дважды щелкните на quickstartobjcexampleapp xcworkspace quickstartobjcexampleapp xcworkspace 4\ подождите, пока xcode откроет проект 3 понимание разницы обычно для objective c у вас есть два варианта для построения запросов использовать ‘pfquery’ или ‘nspredicate’ оба работают аналогично, но в зависимости от того, сколько ограничений вы хотите использовать, может быть более разумно использовать один вместо другого например, простой запрос с использованием pfquery будет 1 \[query wherekey @"playername" notequalto @"michael yabuti"]; 2 \[query wherekey @"playerage" greaterthan @18]; но более сложный запрос может выглядеть так 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"]; таким образом, в зависимости от каждого случая, вы можете выбрать использование ‘nspredicate’ вместо этого простой запрос с использованием ‘nspredicate’ будет 1 nspredicate predicate = \[nspredicate predicatewithformat @"playername != 'michael yabuti' and playerage > 18"]; 2 pfquery query = \[pfquery querywithclassname @"gamescore" predicate\ predicate]; в то время как более сложный запрос может выглядеть так 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 выполнение вашего запроса вы можете выполнить ваш запрос 1 \[query findobjectsinbackgroundwithblock ^(nsarray objects, nserror error) { 2 if (!error) { 3 // запрос выполнен успешно 4 } 5 }]; следующие шаги на этом этапе вы узнали, как начать работу с приложениями для ios узнайте больше, прогуливаясь по нашим ios туториалам или проверьте документацию parse open source для ios sdk