Swift-扩展

 

 

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 {

//        // ......

//    }

//    

}

 

posted @ 2017-02-28 17:06  风雨彩  阅读(187)  评论(0编辑  收藏  举报