7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. iOS SDK

iOS SDK: Bekerja dengan NSUserDefaults

Read Time: 6 mins

Indonesian (Bahasa Indonesia) translation by Shylchemist (you can also view the original English article)

Dalam tutorial ini saya akan menunjukkan cara menggunakan kelas NSUserDefaults untuk menyimpan dan memperbarui pengaturan aplikasi. Dalam prosesnya, kita akan membangun aplikasi demo yang disebut "Kontak" yang akan menyimpan gambar dan informasi kontak yang disediakan pengguna.

Apa itu Kelas NSUserDefaults?

Dengan kelas NSUserDefaults, Anda dapat menyimpan pengaturan dan properti yang terkait dengan aplikasi atau data pengguna. Misalnya, Anda bisa menyimpan gambar profil yang ditetapkan oleh pengguna atau skema warna default untuk aplikasi. Objek akan disimpan dalam apa yang dikenal sebagai "sistem default" iOS. Sistem iOS default tersedia di seluruh kode di aplikasi Anda, dan semua data yang disimpan ke sistem default akan bertahan melalui sesi aplikasi. Ini berarti bahwa bahkan jika pengguna menutup aplikasi Anda atau reboot ponsel mereka, data yang disimpan akan tetap tersedia saat berikutnya mereka membuka aplikasi!

Dengan NSUserDefaults Anda dapat menyimpan objek dari tipe kelas berikut:

  • NSData
  • NSString
  • NSNumber
  • NSDate
  • NSArray
  • NSDictionary

Jika Anda ingin menyimpan objek jenis apa pun, seperti UIImage, Anda biasanya perlu mengarsipkannya atau membungkusnya dengan instance NSData, NSNumber, atau NSString.

Sekarang setelah Anda mengetahui sedikit tentang apa yang dapat dilakukan dengan NSUserDefaults, mari mulai mempelajari cara menggunakan sistem default dengan aplikasi sampel sederhana yang akan menyimpan informasi kontak.

Langkah 1: Membuat Proyek

Buka Xcode dan pilih "Create a new Xcode project". Pilih Aplikasi Berbasis Tampilan dan klik Berikutnya. Masukkan nama untuk proyek Anda (Saya menyebut saya "Kontak"). Masukkan Pengenal Perusahaan Anda dan pastikan Anda memilih iPhone untuk Keluarga Perangkat, karena kita akan membuat aplikasi iPhone. Jika sudah selesai, klik next. Pilih tempat untuk menyimpan proyek Anda dan kemudian klik buat.

NSUserDefaults Figure 1NSUserDefaults Figure 1NSUserDefaults Figure 1

Langkah 2: Merancang Antarmuka

Dalam folder "Kontak" di "Project Navigator" klik pada ContactViewController.xib.

Seret tiga UITextFields dari perpustakaan ke tampilan dan atur seperti di bawah ini. Lakukan hal yang sama dengan UIImageView dan dua Round Round Buttons.

Klik TextField pertama dan ketik "Nama depan" di bidang teks Placeholder. Sekarang klik TextField kedua dan ketik "Last name" di bidang teks Placeholder. Akhirnya, klik TextField ketiga dan terakhir dan ketik "age" di bidang teks Placeholder. Untuk jenis keyboard, pilih Number Pad, karena Anda hanya perlu angka untuk memasuki usia Anda.

Ubah teks tombol pertama menjadi "Save" dan teks tombol kedua menjadi "Choose Image".

NSUserDefaults Figure 2

Sekarang kita akan membuat koneksi. Xcode 4 memiliki cara mudah dan cepat yang baru untuk melakukannya. Pilih tombol tengah Editor untuk menampilkan "Asisten editor".

NSUserDefaults Figure 3

Klik nama depan TextField dan seret CTRL ke interface. Munculan akan muncul, masukkan "firstNameTextField" untuk nama dan klik "connect."

NSUserDefaults Figure 3

Lakukan hal yang sama dengan Text Field nama belakang dan usia dan UIImageView, tetapi sebut mereka lastNameTextField, ageTextField dan contactImageView. Untuk tombol, kita perlu mengubah koneksi ke Action alih-alih Outlet. Jadi CTRL-seret dari tombol simpan ke interface, tapi kali ini di bawah kurung kurawal. Ubah Koneksi ke Action dan masukkan "save" untuk nama. Lakukan hal yang sama dengan tombol Choose Image, tetapi kali ini masukkan "selectImage" untuk nama. Sekarang kode dari ContactViewController.h harus dibaca sebagai berikut:

Sekarang kita selesai dengan interface. Klik Build and Run untuk melihat apakah berjalan baik. Masukkan beberapa teks dan tutup aplikasi. Jika Anda membuka aplikasi lagi, Anda mungkin akan melihat bahwa teks yang Anda masukkan masih ada. Jika demikian, ini disebabkan oleh kemampuan multitasking bawaan iOS. Jika Anda menghapus aplikasi dari bilah multitasking dan membuka aplikasi lagi, Anda akan melihat bahwa teks yang Anda masukkan hilang. Dalam tutorial ini kita akan menggunakan NSUserDefaults untuk menyimpan informasi yang dimasukkan bahkan jika Anda "benar-benar" menutup aplikasi. Ini akan memungkinkan data untuk bertahan melalui beberapa sesi.

Langkah 3: Memilih Gambar

Beralih kembali ke mode Editor standar, sehingga Anda memiliki lebih banyak ruang untuk bekerja di dalamnya. Buka ContactViewController.h dan menambahkan UIImagePickerControllerDelegate dan UINavigationControllerDelegate.

Jika Anda selesai dengan itu, buka ContactViewController.m dan gulir ke bawah ke tindakan ChooseImage dan modifikasi kode untuk dibaca sebagai berikut:

Pertama, kita membuat UIImagePickerController, lalu kita atur delegate ke self. Selanjutnya, kita mengaktifkan pengeditan pengguna, lalu mengatur jenis sumber ke pustaka foto, dan akhirnya kita menunjukkannya dengan animasi kepada pengguna.

Di bawah pilih tindakan gambar, iklankan metode delegasi pemilih gambar berikut:

Pada metode pertama, kita mengatur image contactImageView ke gambar yang dipilih dan kemudian mengabaikan UIImagePickerController. Pada metode kedua, kita hanya mengabaikan UIImagePickerController.

Langkah 4: Menyimpan Data

Anda dapat menyimpan teks dengan fungsi: setObject:(id) forKey:(NSString *). Kunci perlu menjadi kunci khusus untuk objek yang Anda simpan karena Anda juga membutuhkan kunci itu untuk mendapatkan data yang disimpan. Anda dapat menyimpan bilangan bulat dengan fungsi: setInteger:(NSInteger) forKey:(NSString *). Untuk menyimpan gambar, pertama-tama kita perlu membuat instance NSData dari itu.
Buka tindakan simpan dan modifikasi kode untuk dibaca sebagai berikut:

Pertama-tama kita menyembunyikan keyboard. Kemudian kita membuat string teks yang Anda masukkan di text field nama depan dan belakang. Kita juga membuat bilangan bulat dari usia yang Anda masukkan. Daripada menyimpan gambar dari contactImageView sebagai objek NSData, karena kita tidak dapat menyimpan UIImage secara langsung dengan NSUserDefaults. Kemudian menyimpan data, kita memanggil fungsi standardUserDefaults untuk menyimpan data di dalamnya. Akhirnya kita menyinkronkan database standardUserDefaults.

Langkah 5: Dapatkan Data yang Disimpan

Akhirnya kita ingin mendapatkan data yang disimpan. Kita melakukan ini dalam metode viewDidLoad, karena metode itu dipanggil saat aplikasi terbuka. Gulir ke bawah ke metode “viewDidLoad”, batalkan komentarnya, dan modifikasi kode sebagai berikut:

Pertama kita memanggil fungsi standardUserDefaults lagi, sehingga kita bisa mendapatkan data yang disimpan. Kita menempatkan nama depan dan belakang di NSString. Meskipun usianya adalah bilangan bulat, kita membuat string untuk menyimpannya, karena tidak dapat langsung mengatur teks dari TextField ke integer. Kita menempatkan gambar dalam objek NSData dan kemudian membuat UIImage dari objek NSData. Akhirnya, kita memperbarui elemen UI dengan data yang disimpan.

Sekarang setelah aplikasi selesai, bangun dan jalankan kembali. Masukkan data Anda dan pilih gambar. Tutup aplikasi dari bar multitasking dan kemudian buka aplikasi lagi. Data masih harus ada di sana saat ini, dan jika demikian, aplikasi demo berfungsi!

Terima kasih telah membaca tutorial ini tentang NSUserDefaults! Jika Anda memiliki pertanyaan atau komentar pada tutorial ini, tinggalkan di bagian komentar di bawah!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Scroll to top
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.