简体中文
DefaultSkit เป็นไลบรารี Swift ที่มีน้ำหนักเบาซึ่งสร้างบนรหัสที่สามารถนำเสนอ wrapper ที่ง่าย พิมพ์อย่างมาก และกะทัดรัดสำหรับ userdefaults ด้วยรหัสน้อยกว่า 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)สำหรับวัตถุที่ซับซ้อนมันจะป้องกันการ deserialization ที่ไม่จำเป็น
คุณสามารถค้นหา wrapper ความสะดวกสบายสำหรับคีย์ของคุณโดยขยาย 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 // catDefaultSkit เปิดตัวภายใต้ใบอนุญาต MIT ดูใบอนุญาตสำหรับรายละเอียด
ภาษาจีนเป็นภาษาพูดอันดับ #1 ในโลกและฉันชอบที่จะมีค่าเริ่มต้นที่ครอบคลุมมากขึ้น แต่น่าเสียดายที่ฉันไม่ได้พูดภาษาจีน หากคุณรู้จักภาษาจีนและต้องการความช่วยเหลือโปรดดูปัญหา #1
ขอบคุณ