iOS
...
Parse Swift SDK
Data Objects

Panduan Mengelola Tipe Data di Database Swift

15min

Mengurai tipe data di Swift

Pendahuluan

Saat menyimpan data di Database Back4App, setiap entitas disimpan dalam format pasangan kunci-nilai. Tipe data untuk bidang nilai berkisar dari yang fundamental (seperti String, Int, Double, Float, dan Bool) hingga struktur yang lebih kompleks. Persyaratan utama untuk menyimpan data di Database Back4App adalah bahwa entitas harus mematuhi ParseSwift protokol. Pada gilirannya, protokol ini menyediakan serangkaian metode untuk menyimpan, memperbarui, dan menghapus setiap instance dari entitas.

Dalam panduan ini, Anda akan belajar bagaimana cara membuat dan mengatur entitas untuk menyimpannya di Database Back4App Anda. Dalam contoh proyek, entitas yang kami simpan mencakup informasi tentang sebuah Resep.

Tutorial ini menggunakan aplikasi dasar yang dibuat di Xcode 12 dan iOS 14.

Kapan saja, Anda dapat mengakses Proyek lengkap melalui repositori GitHub kami.

Tujuan

Untuk memahami bagaimana objek diparsing dan disimpan di Database Back4App.

Prasyarat

Untuk menyelesaikan quickstart ini, Anda memerlukan:

Memahami Aplikasi Resep Kami

Fungsi aplikasi ini berdasarkan pada sebuah formulir di mana seseorang dapat memasukkan informasi tentang sebuah resep. Tergantung pada informasi tersebut, jenis data dapat bervariasi. Dalam contoh kami, resep ini memiliki fitur-fitur berikut:

Lapangan

Tipe Data

Deskripsi

Nama

String

Nama resep

Porsi

Int

Jumlah porsi

Tersedia

Bool

Menentukan apakah resep tersedia atau tidak

Kategori

Kategori

Sebuah enumerasi kustom yang mengklasifikasikan resep dalam tiga kategori: Sarapan, Makan Siang, dan Makan Malam

Bahan-bahan

[Bahan-bahan]

Sekumpulan bahan yang terkurung dalam struktur customIngredient** **

Opsi samping

[String]

Nama opsi tambahan yang disertakan dalam resep

Informasi nutrisi

[String:String]

Sebuah kamus yang berisi informasi tentang kandungan nutrisi resep tersebut

Tanggal rilis

Tanggal

Tanggal yang menunjukkan kapan resep tersebut tersedia

Selain itu, ada lebih banyak tipe data yang digunakan untuk mengimplementasikan fungsionalitas Database seperti hubungan antara objek. Tipe data ini tidak dibahas dalam tutorial ini.

Referensi cepat perintah yang akan kita gunakan

Diberikan sebuah objek, katakanlah Resep, jika Anda ingin menyimpannya di Database Back4App, Anda harus terlebih dahulu membuat objek ini sesuai dengan protokol ParseSwift (tersedia melalui SDK ParseSwift).

Swift


Sebelum menyimpan instance dari objek ini di Database Back4App, semua propertinya harus sesuai dengan protokol Codable dan Hashable.

Kami menggunakan metode berikut untuk mengelola objek-objek ini di Database Back4App:

Create
Update
Read
Delete


1 - Buat Template Aplikasi Resep

Kita mulai dengan membuat proyek XCode baru. Dalam tutorial ini proyek harus terlihat seperti ini

Document image


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

Swift


Kelas pengontrol tampilan akar (RecipesController) untuk pengontrol navigasi adalah subclass dari UIViewController di mana kita akan menyusun formulir untuk membuat dan memperbarui objek Resep di Database Back4App.

2 - Siapkan objek Resep

Objek yang ingin Anda simpan di Database Back4App Anda harus mematuhi protokol ParseObject. Di aplikasi Resep kami, objek ini adalah Resep. Oleh karena itu, Anda perlu membuat objek ini terlebih dahulu. Buat file baru Recipe.swift dan tambahkan yang berikut ini

Swift


di mana kami sudah menambahkan semua properti yang diperlukan ke Resep sesuai dengan tabel fitur resep.

Tipe data Ingredient adalah sebuah struct yang menyimpan jumlah dan deskripsi dari bahan. Seperti yang disebutkan sebelumnya, tipe data ini harus mematuhi protokol Codable dan Hashable agar menjadi bagian dari properti Recipe.

Swift


Selain itu, properti kategori dalam Recipe memiliki enumerasi (Category) sebagai tipe data yang juga mematuhi protokol yang sesuai.

Swift


3 - Menyiapkan RecipesController

Dalam RecipesController kita harus mengimplementasikan semua konfigurasi yang diperlukan untuk navigationBar dan formulir yang digunakan untuk menangkap semua properti Recipe. Tutorial ini tidak membahas cara mengimplementasikan tata letak untuk formulir. Kita kemudian fokus pada logika yang terkait dengan pengelolaan tipe data menggunakan ParseSwift SDK. Di bawah ini kami menyoroti poin-poin kunci dalam RecipesController yang memungkinkan kita memahami bagaimana kita mengimplementasikan koneksi antara antarmuka pengguna dan data yang berasal dari Database Back4App Anda.

Swift


3 - Menangani input pengguna dan mengurai objek Resep

Dalam file terpisah (disebut RecipesController+ParseSwiftLogic.swift), menggunakan ekstensi kami sekarang mengimplementasikan metode handleSaveRecipe(), handleUpdateRecipe() dan handleUpdateRecipe() untuk menangani data input

Swift


4 - Jalankan aplikasi!

Sebelum menekan tombol jalankan di XCode, jangan lupa untuk mengonfigurasi aplikasi Back4App Anda di kelas AppDelegate!

Pertama kali Anda menjalankan proyek, Anda harus melihat sesuatu seperti ini di simulator (dengan semua kolom kosong)

Document image


Sekarang Anda dapat mulai memasukkan resep untuk kemudian menyimpannya di Database Back4App Anda. Setelah Anda menyimpan satu resep, pergi ke dasbor Back4App dan pergi ke aplikasi Anda, di bagian Database Anda akan menemukan kelas Resep di mana semua resep yang dibuat oleh Aplikasi iOS.

Secara khusus, perlu dicatat bagaimana tipe data non-fundamental seperti Bahan, Resep.Kategori atau kamus disimpan. Jika Anda menavigasi melalui data yang disimpan di bawah kelas Resep, Anda akan menemukan bahwa

  • Kamus nutritionalInformation disimpan sebagai objek JSON.
  • Array [Bahan] disimpan sebagai array objek JSON.
  • Enumerasi Resep.Kategori, karena memiliki tipe data integer sebagai RawValue, diubah menjadi tipe nilai Number.
  • Properti releaseDate, nilai tipe Date di Swift, juga disimpan sebagai nilai tipe Date.

Sebagai kesimpulan, saat mengambil data dari Database Back4App Anda, Anda tidak perlu mendekode semua kolom ini secara manual, ParseSwift SDK akan mendekode mereka secara otomatis. Itu berarti, saat membuat kueri (Query<Recipe> dalam hal ini) untuk mengambil data, metode query.find() akan mengurai semua tipe data dan objek JSON untuk mengembalikan array Resep, tidak ada prosedur penguraian tambahan yang perlu diterapkan.