import UIKit 导入此框架
扩展的格式
extension + 需要扩展的类名{
}
以下是对数据持久化UserDefaults的扩展代码
extension UserDefaults{
enum TestData: String,UserDefaultSettable{
case name
case age
}
}
public protocol UserDefaultSettable{
var uniqueKey:String { get}
}
public extension UserDefaultSettable where Self: RawRepresentable, Self.RawValue == String {
public func store(value: Any?){
UserDefaults.standard.set(value, forKey: uniqueKey)
}
public var storedValue: Any? {
return UserDefaults.standard.value(forKey: uniqueKey)
}
public var uniqueKey: String {
return "(Self.self).(rawValue)"
}
public func store(value: Bool) {
}
// public var storedBool: Bool {
// // ......
// }
//
}