简体中文
DefaultSkit est une bibliothèque Swift légère qui s'appuie sur le codable pour offrir un wrapper simple , fortement dactylographié et compact pour UserDefaults. Avec moins de 100 lignes de code, il est à la fois facile à utiliser et très efficace.
Installation >> instructions <<
Instancier ou obtenir une instance shared de Defaults
let defaults = Defaults ( ) // or Defaults.sharedAlors:
// 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
}Si vous avez juste besoin de savoir qu'une paire clé / valeur existe, sans utiliser réellement la valeur , utilisez la méthode
has()au lieu duget(for:key). Pour les objets complexes, il empêchera toute désérialisation inutile.
Vous pouvez trouver un emballage de commodité pour vos clés en étendant DefaultsKey . Cela vous permet d'utiliser une expression implicite des membres:
// 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 keyPour stocker un objet complexe, conforme au protocole codable:
struct Person : Codable {
let name : String
let age : Int
}Alors:
// 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 )Et enfin:
// Read it back
let person = defaults . get ( for : key )
person ? . name // Bonnie Greenwell
person ? . age // 80 Vous pouvez également utiliser des objets imbriqués tant qu'ils sont conformes au protocole 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 est libéré sous la licence MIT. Voir la licence pour plus de détails.
Le chinois est la langue parlée n ° 1 dans le monde et j'aimerais que les défauts soient plus inclusifs, malheureusement je ne parle pas chinois. Si vous connaissez le chinois et que vous souhaitez aider, veuillez consulter le numéro 1
Merci