简体中文
Defaultskit ist eine leichte Swift -Bibliothek, die auf codable baut, um einen einfachen , stark typisierten und kompakten Wrapper für Benutzerdefaults anzubieten. Mit weniger als 100 Codezeilen ist es sowohl einfach zu bedienen als auch hocheffizient.
Installation >> instructions <<
Instanziieren oder eine shared Instanz von Defaults erhalten
let defaults = Defaults ( ) // or Defaults.sharedDann:
// 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
}Wenn Sie nur wissen müssen, dass ein Schlüssel-/Wertpaar existiert, ohne den Wert tatsächlich zu verwenden , verwenden Sie die
has()-Methode anstelle des optionalenget(for:key). Für komplexe Objekte verhindert es unnötige Deserialisierung.
Sie können einen Convenience -Wrapper für Ihre Schlüssel finden, indem Sie DefaultsKey erweitern. Auf diese Weise können Sie implizite Mitgliederausdruck verwenden:
// 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 keySo speichern Sie ein komplexes Objekt nur dem kodbaren Protokoll:
struct Person : Codable {
let name : String
let age : Int
}Dann:
// 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 )Und schließlich:
// Read it back
let person = defaults . get ( for : key )
person ? . name // Bonnie Greenwell
person ? . age // 80 Sie können auch verschachtelte Objekte verwenden, solange sie dem Codable Protokoll entsprechen:
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 wird unter der MIT -Lizenz veröffentlicht. Weitere Informationen finden Sie in Lizenz.
Chinesisch ist die Nummer 1 der gesprochenen Sprache der Welt, und ich würde gerne defaultskit integrativer sein, leider spreche ich kein Chinesisch. Wenn Sie Chinesen kennen und gerne helfen, finden Sie Ausgabe 1
Danke