贡献者:赵大财
博客: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: 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() } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。