swift extension 关联变量

来源:互联网 发布:手机淘宝端怎么微装修 编辑:程序博客网 时间:2024/04/29 23:21

直接上代码

import Foundationextension NSObject {    private struct NotificationIdentifyStruct {        static var NotificationIdentify:String?    }     var NotificationInstanceIdentify: String {        get {            if let tempString = objc_getAssociatedObject(self, &NotificationIdentifyStruct.NotificationIdentify) as? String {                return tempString            }else{                let tempString = "\(arc4random())"                objc_setAssociatedObject(self, &NotificationIdentifyStruct.NotificationIdentify, /*不明白这个地方为什么是一个指针而不是一个字符串之类的*/tempString, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)                return tempString            }        }        set{            objc_setAssociatedObject(self, &NotificationIdentifyStruct.NotificationIdentify, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)        }    }
0 0
原创粉丝点击