zoukankan      html  css  js  c++  java
  • 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 {

    //        // ......

    //    }

    //    

    }

     

  • 相关阅读:
    如何抓住用户痛点做产品?
    分析需求场景对产品设计的意义
    【用户分析-用户场景】这TM才是产品思维!
    WebUploader实现浏览器端大文件分块上传
    npm 安装包报错 rollbackFailedOptional
    PAT 甲级 1074 Reversing Linked List (25 分)(链表部分逆置,结合使用双端队列和栈,其实使用vector更简单呐)...
    PAT 甲级 1071 Speech Patterns (25 分)(map)
    P3370 【模板】字符串哈希
    PageRank算法原理与Python实现
    PAT-2019年冬季考试-甲级 7-4 Cartesian Tree (30分)(最小堆的中序遍历求层序遍历,递归建树bfs层序)...
  • 原文地址:https://www.cnblogs.com/lcl15/p/6479720.html
Copyright © 2011-2022 走看看