Bagaimana cara menggunakan UserDefaults untuk menyimpan / mengambil string, boolean, dan data lainnya di Swift?
ios
swift
nsuserdefaults
userdefaults
Mithun Ravindran
sumber
sumber
Jawaban:
ref: NSUserdefault objectTypes
Swift 3 ke atas
Toko
Ambil
Menghapus
Hapus semua Kunci
Swift 2 ke bawah
Toko
Ambil
Menghapus
Daftar
misalnya mendeteksi aplikasi dari peluncuran, membuat struct untuk menyimpan peluncuran
Daftarkan nilai default pada peluncuran aplikasi:
hapus nilai pada penghentian aplikasi:
dan periksa kondisinya sebagai
Nama suite UserDefaults
satu lagi nama suite properti , sebagian besar digunakan untuk konsep Grup Aplikasi , contoh skenario yang saya ambil dari sini :
penggunaan sinkronisasi userDefaults , info detail telah ditambahkan dalam jawaban duplikat.
sumber
Cara terbaik untuk menggunakan UserDefaults
Langkah
Sampel
enum untuk Kunci yang digunakan untuk menyimpan data
Simpan di UserDefaults di tempat yang Anda inginkan
Ambil data di mana saja di aplikasi
Hapus Nilai
Dengan cara ini Anda dapat menyimpan data primitif dengan baik
Perbarui Anda tidak perlu menggunakan sinkronisasi () untuk menyimpan nilai. Seperti @Moritz menunjukkan itu tidak perlu dan diberikan artikel tentangnya. Periksa komentar untuk detail lebih lanjut
sumber
synchronize()
, itu dijelaskan dalam dokumentasi. Ini tidak hanya tidak berguna di sini tetapi juga dapat memperlambat akses default.Cepat 4 :
Toko
Retrive
Menghapus
sumber
sumber
Anda dapat menggunakan
NSUserDefaults
dengan cepat dengan cara ini,sumber
synchronize()
perintah untukNSUserDefaults
untuk memastikan barang Anda disimpan setelah melakukan blok perubahan. Ini mungkin lebih diperlukan di iOS 7 dan sebelumnya, tetapi di iOS 8 dan seterusnya, Anda tidak boleh memanggil sinkronisasi () dalam banyak situasi. Periksa ini untuk Info lebih lanjut: codingexplorer.com/nsuserdefaults-a-swift-introductionSwift 5 ke atas:
:)
sumber
Saya menyimpan NSDictionary secara normal dan bisa mendapatkannya dengan benar.
// Untuk mendapatkan data dari NSDictionary.
sumber
sumber
UserDefault + Helper.swift
Pemakaian:
Simpan Nilai:
Ambil Nilai:
Hapus Nilai:
sumber
Saya akan mengatakan jawaban Anbu baik-baik saja tetapi saya harus menambahkan penjaga saat mengambil preferensi agar program saya tidak gagal
Berikut adalah potongan kode yang diperbarui di Swift 5
sumber
Di kelas
A
, tetapkan nilai untuk kunci:Di kelas
B
, dapatkan nilai teks menggunakan kunci yang dideklarasikan di kelasA
dan tetapkan ke variabel terkait yang Anda butuhkan:sumber
Swift 4, saya telah menggunakan Enum untuk menangani UserDefaults.
Ini hanyalah contoh kode. Anda dapat menyesuaikannya sesuai kebutuhan Anda.
Untuk Menyimpan, Mengambil, Menghapus. Dengan cara ini tambahkan saja kunci untuk kunci UserDefaults Anda ke enum. Tangani nilai sambil mendapatkan dan menyimpan sesuai dengan tipe data dan kebutuhan Anda.
Untuk menyimpan nilai dalam default pengguna,
Untuk mengambil nilai dari userdefaults,
sumber