Panduan Kueri ParseSwift untuk Pengembang iOS di Back4App
Dalam panduan kuery dasar, kami memperkenalkan beberapa metode dasar untuk membangun kuery dan mengambil data dari sebuah Back4App Database. ParseSwift SDK menawarkan cara praktis untuk membangun kuery yang lebih kompleks untuk aplikasi dunia nyata.
Dalam panduan ini, Anda akan menyelami lebih dalam ke dalam Query<U> (generik) kelas dan melihat semua metode yang dapat Anda gunakan untuk membangun kuery Anda. Anda akan menggunakan kelas database sederhana (disebut Profile) dengan beberapa data yang dipalsukan untuk melakukan kuery menggunakan swift.
Sebelum memulai, kita harus menetapkan beberapa konsep tentang objek dan tipe data. Dalam panduan ini, kami merujuk sebagai objek kepada setiap tipe data (seperti structs) yang dapat disimpan dalam database. Dalam beberapa situasi, mereka juga disebut sebagai item atau elemen. Properti adalah anggota dari tipe data (kebanyakan structs). Namun, di sini, kami biasanya menyebutnya sebagai field. ParseSwift menggunakan istilah ‘kunci’, untuk menunjukkan nama properti. Jadi, setiap parameter yang diberi label sebagai ‘kunci’ dalam metode apa pun dari ParseSwift SDK menunjukkan bahwa nilainya harus cocok dengan nama field.
Untuk menyelesaikan tutorial ini, Anda akan membutuhkan:
- Sebuah Aplikasi iOS dasar untuk menguji kuery
Untuk menjelajahi berbagai metode yangQuery<U> kelas sediakan untuk mengeksekusi kueri.
Untuk panduan ini, kami akan mengkueri informasi tentang kontak seseorang. Data ini disimpan di bawah kelas Profile di Back4App Database. Untuk mengambil profil melalui Aplikasi iOS, kami perlu membuat Profile struct yang akan berisi informasi tersebut.
Selain itu, kami menggunakan objek Keanggotaan untuk menunjukkan bagaimana kueri antara Profil dan Keanggotaan saling berinteraksi. Struktur Keanggotaan diimplementasikan dengan cara berikut
Setiap operasi kueri pada Database Back4App dilakukan oleh kelas generik Query<Profil> di mana tipe generik Profil (yang sesuai dengan ParseSwift protokol) adalah objek yang ingin kita ambil. Setelah menginstansiasi objek Query<Profil> , kita harus memanggil salah satu metode find(_) (lihat panduan panduan kueri dasar) untuk menangani hasil yang dikembalikan dari kueri.
Anda dapat membaca lebih lanjut tentang Query<U> kelas di sini pada dokumentasi resmi.
Dengan cuplikan berikut, kami membuat dan menyimpan beberapa data untuk menguji berbagai kueri
Setelah kode di atas dijalankan, kita seharusnya memiliki database kecil untuk dikerjakan.
Lihat lebih lanjut tentang cara menyimpan data dengan ParseSwift di Objek Data iOS.
Metode ini bertanggung jawab untuk menjalankan kueri dan mengambil hasilnya, selalu ada dalam implementasi kueri Anda.
Kami sekarang mulai menerapkan batasan spesifik pada kueri. Pertama, kami akan memberlakukan batasan yang memilih objek hanya ketika sebuah String bidang tipe memenuhi kondisi tertentu. Ini dan batasan tipe lainnya yang diberlakukan pada sebuah Query<Profile> objek dilakukan melalui objek QueryConstraint . Di bawah ini dan di bagian berikutnya, kami merinci cara membangun batasan semacam itu.
Sangat umum untuk mencoba memilih objek di mana bidang tipe angka tertentu harus sama, berbeda, lebih besar, atau lebih kecil dari nilai yang diberikan. Ini dilakukan dengan menggunakan operasi perbandingan berikut
Keterbatasan ini juga berlaku pada Tanggal bidang tipe. Misalnya, kita bisa memiliki
Untuk Bool bidang tipe, kita memiliki opsi Sama dengan dan Tidak sama dengan. Misalnya
Untuk bidang yang mengandung data lokasi (yaitu, dari tipe ParseGeoPoint) kami memiliki opsi kueri berikut.
Ketika objek yang ingin kita ambil perlu memenuhi kondisi tertentu pada salah satu bidang tipe array mereka, ParseSwift SDK menyediakan alternatif berikut untuk mencapainya
Hingga sekarang kami memperkenalkan kondisi utama yang dapat kami terapkan pada bidang tertentu untuk memilih objek dari Database Back4App menggunakan ParseSwift SDK. Di bagian ini kami melanjutkan dengan komposisi kueri dan kueri lanjutan.
Mengurutkan hasil dari kueri adalah kunci sebelum mulai menampilkan atau memanipulasi hasil tersebut. ParseSwift SDK menyediakan opsi berikut untuk mencapai itu.
Tergantung pada data apa yang diperlukan selama kueri, ini dapat memakan waktu lebih atau kurang. Dalam beberapa skenario, mungkin cukup untuk mengambil bidang tertentu dari sebuah objek dan mengabaikan bidang yang tidak perlu. Selain itu, dengan hanya memilih bidang yang kita butuhkan dari sebuah kueri, kita menghindari pengambilan berlebih dan meningkatkan kinerja pada proses pengambilan.
Dalam basis data besar, paginasi adalah fitur dasar untuk melakukan kueri dan menangani sejumlah besar hasil. ParseSwift SDK menyediakan metode berikut untuk mengelola situasi tersebut.
Metode ini akan membuat kueri gabungan, yang dapat menggabungkan lebih dari satu Query<Profile> instance untuk mencapai hasil yang lebih kompleks.
Metode ini terkait dengan preferensi dan operasi database.
Dengan menggunakan berbagai metode, objek, dan operator yang disediakan oleh ParseSwift SDK, kami dapat memahami cara membangun dan mengambil objek dari Back4App Database. Dengan buku masak ini, Anda seharusnya dapat melakukan kueri dengan batasan yang sangat fleksibel dan mengelola hasilnya sesuai dengan kasus penggunaan Anda. Untuk detail lebih lanjut tentang topik di atas, Anda dapat merujuk ke repositori ParseSwift.