加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift3.0 Runtime 增加属性

发布时间:2020-12-14 06:29:28 所属栏目:百科 来源:网络整理
导读:贡献者:赵大财 博客:https://my.oschina.net/zhaodacaiGitHub:https://github.com/dacaizhao 邮箱: dacai_zhao@163.com QQ:327532817 ============================= 先附带一个OC版的http://www.jb51.cc/article/p-pkwqrtdq-boo.html class DCRuntime: NSOb

贡献者:赵大财
博客:https://my.oschina.net/zhaodacaiGitHub:https://github.com/dacaizhao
邮箱: dacai_zhao@163.com QQ:327532817
=============================
先附带一个OC版的http://www.52php.cn/article/p-pkwqrtdq-boo.html

class DCRuntime: NSObject {

    var name:String = ""
    
    func makeMoney()   {
        print(self.name,self.job ?? "","很多很多swift")
    }
}
extension DCRuntime {
    struct RuntimeKey {
        static let job = UnsafeRawPointer.init(bitPattern: "job".hashValue)
    }
    
    var job: String? {
        set {
            objc_setAssociatedObject(self,DCRuntime.RuntimeKey.job,newValue,.OBJC_ASSOCIATION_COPY_NONATOMIC)
        }
        
        get {
            return  objc_getAssociatedObject(self,DCRuntime.RuntimeKey.job) as? String
        }
    }
}
class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        let dacai = DCRuntime()
        dacai.job = "ios"
        dacai.name = "zhaodacai"
        dacai.makeMoney()
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读