Panduan CRUD Parse Object di iOS untuk Pengembang
Menyimpan data di Parse dibangun di sekitar Parse.Object kelas. Setiap Parse.Object berisi pasangan kunci-nilai dari data yang kompatibel dengan JSON. Data ini tidak memiliki skema, yang berarti Anda tidak perlu menentukan sebelumnya kunci apa yang ada di setiap Parse.Object. Anda dapat dengan mudah mengatur pasangan kunci-nilai apa pun yang Anda inginkan, dan backend kami akan menyimpannya.
Anda juga dapat menentukan tipe data sesuai dengan kebutuhan aplikasi Anda dan menyimpan tipe seperti number, boolean, string, DateTime, list, GeoPointers, dan Object, mengkodekannya ke JSON sebelum menyimpan. Parse juga mendukung penyimpanan dan kueri data relasional dengan menggunakan tipe Pointers dan Relations.
Dalam panduan ini, Anda akan belajar bagaimana melakukan operasi data dasar melalui aplikasi contoh CRUD (Aplikasi Daftar ToDo), yang akan menunjukkan kepada Anda bagaimana cara membuat, membaca, memperbarui, dan menghapus data dari database server Parse Anda menggunakan ParseSwift SDK.
Tutorial ini menggunakan aplikasi dasar yang dibuat di Xcode 12 dan iOS 14.
Kapan saja, Anda dapat mengakses Proyek lengkap melalui repositori GitHub kami.
Untuk belajar bagaimana melakukan operasi database dasar di back4app menggunakan aplikasi daftar ToDo sebagai contoh
Untuk menyelesaikan panduan cepat ini, Anda perlu:
- Xcode.
- Sebuah aplikasi yang dibuat di Back4App.
- Catatan: Ikuti Tutorial Instalasi Parse SDK (Swift) untuk membuat Proyek Xcode yang terhubung ke Back4App.
Untuk lebih memahami ParseSwift SDK Anda akan melakukan operasi CRUD pada Aplikasi Daftar To-do. Database aplikasi akan memiliki kelas tugas sederhana dengan judul dan deskripsi (keduanya string). Anda dapat memperbarui judul dan/atau deskripsi setiap tugas.
Setelah sebuah objek mematuhi ParseSwift protokol, itu secara otomatis mengimplementasikan serangkaian metode yang akan memungkinkan Anda untuk mengelola objek dan memperbarui perubahan apa pun di Database Back4App Anda. Mengingat objek ToDoListItem
metode ini terdaftar di bawah.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/vHgxQhVfQwjNx1FCYIC30_image.png?format=webp)
Kapan saja, Anda dapat mengakses Proyek lengkap melalui repositori GitHub kami.
Buka Xcode, dan temukan file SceneDelegate.swift. Untuk menambahkan bilah navigasi di atas aplikasi, kami mengatur UINavigationController sebagai pengontrol tampilan root dengan cara berikut
Kelas pengontrol tampilan root (ToDoListController) untuk pengontrol navigasi adalah subclass dari UITableViewController, ini memudahkan untuk menyusun daftar item.
Objek yang ingin Anda simpan di Database Back4App Anda harus sesuai dengan ParseObject protokol. Di aplikasi To-do List kami, objek ini adalah ToDoListItem. Oleh karena itu, Anda pertama-tama perlu membuat objek ini:
Objek ini mendefinisikan sebuah kelas di Database Back4App Anda. Setiap instance baru dari objek ini kemudian disimpan di database Anda di bawah ToDoListItem kelas.
Di ToDoListController kita harus mengimplementasikan semua konfigurasi yang diperlukan untuk navigationBar, dan tableView properti
Untuk menyimpulkan langkah ini, kami menerapkan sel tampilan tabel kustom ToDoListItemCell
Kami menerapkan semua logika CRUD di ToDoListController kelas. Pergi ke ToDoListController.swift dan tambahkan metode berikut ke ToDoListController kelas
- Buat Objek
Sekarang kita mulai mengimplementasikan createObject(title:description:) metode. Buat sebuah instance dari ToDoListItem menggunakan init(title:description:) initializer. Untuk menyimpan item baru ini di Database Back4App Anda, protokol ParseSwift menyediakan metode save() . Metode ini dapat dipanggil secara sinkron atau asinkron, pilih salah satu sesuai dengan kasus penggunaan Anda. Implementasi asinkron harus terlihat seperti ini
Sekarang kita dapat menyelesaikan tindakan untuk tombol tambah yang terletak di sisi kanan bilah navigasi. Pergi keToDoListController dan tambahkan yang berikut ini
- Baca Objek
Kami beralih ke readObjects() metode. Mengambil ToDoListItem item dari Database Back4App Anda dilakukan melalui sebuah Query<ToDoListItem> objek. Query ini diinstansiasi dengan cara berikut
Dalam tutorial ini, kami menggunakan kueri yang akan mengambil semua item dari tipe ToDoListItem dari Database Back4App Anda. Jika Anda ingin mengambil sekumpulan item tertentu, Anda dapat memberikan QueryConstraint elemen ke ToDoListItem.query(QueryConstraint...). Sebagai contoh, untuk mengambil semua item di mana title == "Some title", kueri mengambil bentuk
Setelah Anda menyiapkan kueri, kita melanjutkan untuk mengambil item dengan memanggilquery.find(). Sekali lagi, ini dapat dilakukan secara sinkron atau asinkron. Dalam aplikasi Daftar Tugas kami, kami mengimplementasikannya secara asinkron
Dengan readObjects() selesai, kita sekarang dapat mengambil semua tugas yang disimpan di Database Back4App Anda dan menampilkannya segera setelah aplikasi masuk ke latar depan. Kembali ke ToDoListController dan override viewDidAppear() metode
- Perbarui objek
Diberikan objectId dari sebuah ToDoListItem, sangat mudah untuk melakukan pembaruan. Kita cukup menginstansiasi sebuah ToDoListItem menggunakan init(objectId:) sebagai inisialisator. Selanjutnya, kita memperbarui properti yang kita butuhkan dan memanggil save() metode (dari ToDoListItem) untuk menyimpan perubahan
- Hapus objek
Menghapus objek di Database Back4App Anda sangat mirip dengan membuat objek. Kami mulai dengan membuat sebuah instance dari ToDoListItem dengan objectId dari item yang ingin kami hapus. Selanjutnya, kami cukup memanggil (secara sinkron atau asinkron) metode delete() dari objek tersebut. Jika penghapusan berhasil, kami memperbarui UI, jika tidak, kami melaporkan kesalahan.
Dengan deleteObject(item:) dan updateObject(objectId:newTitle:newDescription) selesai, kita melanjutkan untuk menambahkan tindakan yang sesuai untuk memanggil operasi ini. Kembali ke ToDoListController dan tambahkan
Seperti yang kami sebutkan sebelumnya, tombol aksesori di setiap ToDoListItemCell memicu lembar edit melalui tableView(_:accessoryButtonTappedForRowWith:) metode delegasi.
Pada titik ini, Anda telah belajar bagaimana melakukan operasi CRUD dasar dengan Parse di iOS.