简体中文
DefaultSkit adalah perpustakaan Swift ringan yang dibangun di atas Codable untuk menawarkan pembungkus sederhana , sangat diketik dan kompak untuk UserDefaults. Dengan kurang dari 100 baris kode, itu mudah digunakan dan sangat efisien.
Instalasi >> instructions <<
Instantiate, atau dapatkan contoh Defaults shared
let defaults = Defaults ( ) // or Defaults.sharedKemudian:
// Define a key
let key = Key < String > ( " someKey " )
// Set a value
defaults . set ( " Codable FTW ? " , for : key )
// Read the value back
defaults . get ( for : key ) // Output: Codable FTW ?if defaults . has ( key ) {
// Do your thing
}Jika Anda hanya perlu tahu bahwa pasangan kunci/nilai ada, tanpa benar -benar menggunakan nilai , gunakan metode
has()alih -alihget(for:key). Untuk objek yang kompleks, ia akan mencegah deserialisasi yang tidak perlu.
Anda dapat menemukan pembungkus kenyamanan untuk kunci Anda dengan memperluas DefaultsKey . Ini memungkinkan Anda menggunakan ekspresi anggota implisit:
// Extend with a custom key
extension DefaultsKey {
static var someKey : Key < Int > { Key ( " someKey " ) }
}
// Then use it like this
defaults . set ( " Some key " , for : . someKey )
defaults . get ( for : . someKey ) // Output: Some keyUntuk menyimpan objek yang kompleks hanya sesuai dengan protokol yang dapat dikodekan:
struct Person : Codable {
let name : String
let age : Int
}Kemudian:
// Create a key
let key = Key < Person > ( " personKey " )
// Get an instance of your Codable conforming enum, struct or class
let person = Person ( name : " Bonnie Greenwell " , age : 80 )
// Set the value
defaults . set ( person , for : key )Dan akhirnya:
// Read it back
let person = defaults . get ( for : key )
person ? . name // Bonnie Greenwell
person ? . age // 80 Anda juga dapat menggunakan objek bersarang selama mereka sesuai dengan protokol Codable :
enum Pet : String , Codable {
case cat
case dog
}
struct Person : Codable {
let name : String
let pets : [ Pet ]
}
// Get a Codable conforming instante
let person = Person ( name : " Claire " , pets : [ . cat ] )
// Set the value
defaults . set ( person , for : key )
// And read it back
let person = defaults . get ( for : key )
person ? . name // Claire
person ? . pets . first // catDefaultskit dirilis di bawah lisensi MIT. Lihat lisensi untuk detailnya.
Bahasa Cina adalah bahasa lisan #1 di dunia dan saya ingin memiliki defaultskit lebih inklusif, sayangnya saya tidak bisa berbahasa Cina. Jika Anda tahu bahasa Mandarin, dan ingin membantu, silakan lihat masalah #1
Terima kasih