简体中文
Defaultskit - это легкая библиотека Swift, которая опирается на кодируемой, чтобы предложить простую , сильно напечатанную и компактную обертку для пользователей. Благодаря менее 100 строк кода, это легко использовать и высокоэффективно.
Установка >> instructions <<
Экземпляр или получите shared экземпляр Defaults
let defaults = Defaults ( ) // or Defaults.sharedЗатем:
// 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
}Если вам просто нужно знать, что существует пара ключей/значения, не используя значение , используйте метод
has()вместо необязательногоget(for:key). Для сложных объектов это предотвратит ненужную десериализацию.
Вы можете найти удобную обертку для своих ключей, расширяя DefaultsKey . Это позволяет вам использовать неявное выражение члена:
// 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 keyХранение сложного объекта просто соответствует кодируемому протоколу:
struct Person : Codable {
let name : String
let age : Int
}Затем:
// 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 )И наконец:
// Read it back
let person = defaults . get ( for : key )
person ? . name // Bonnie Greenwell
person ? . age // 80 Вы также можете использовать вложенные объекты, если они соответствуют 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 // catDefalcekit выпущен по лицензии MIT. Смотрите лицензию для деталей.
Китайский язык - это 1 разговорной язык № 1, и я бы хотел, чтобы дефолты были более инклюзивными, к сожалению, я не говорю по -китайски. Если вы знаете китайский и хотите помочь, см. Выпуск № 1
Спасибо