iOS分享之路-快速开发电商平台工具程序员

【iOS分享之路-快速上手Runtime】四、给分类添加属性

2017-03-18  本文已影响3876人  全栈攻城狮DWQ
DWQ-LOGO.jpeg

引述

作为iOS开发者的我们都知道,分类是不能直接添加属性的,那么我们有时候又需要实现这个功能,那么我们应该怎么办才能为分类添加上属性呢。

Runtime给分类添加属性原理

给一个类声明属性,其实本质就是给这个类添加关联,并不是直接把这个值的内存空间添加到类存空间。

Runtime给分类添加属性步骤

  objc_setAssociatedObject(self, @"age", age, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

参数说明:

// object:给哪个对象添加属性
// key:属性名,根据key去获取关联的对象 ,void * == id
// value:关联的值
// policy:策略
 return objc_getAssociatedObject(self, @"age");

 NSObject *objc = [[NSObject alloc] init];
    objc.age = @"123";
    NSLog(@"%@",objc.age);

效果展示:

添加属性.png

Demo下载地址

Runtime添加属性Demo
广大书友记得给个好评,在GitHub上给个Star噢!

上一篇 下一篇

猜你喜欢

热点阅读