category使用  objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性

属性 其实就是 get/set 方法。

我们可以使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性实现 动态向类中添加 方法

@interfaceNSObject (CategoryWithProperty)

@property (nonatomic, strong) NSObject*property;

@end
@implementationNSObject (CategoryWithProperty) - (NSObject *)property { returnobjc_getAssociatedObject(self, @selector(property)); } - (void)setProperty:(NSObject *)value { objc_setAssociatedObject(self, @selector(property), value, OBJC_ASSOCIATION_RETAIN_NONATOMIC); } @end

最新文章

  1. HTML5 Dashboard – 那些让你激动的 Web 技术
  2. poj 2528
  3. Struts2之类型转换器
  4. Ubuntu安装google Gtest
  5. 0603 python 基础02
  6. 模块之dir函数
  7. 如何实现windows命令提示符的tab补全
  8. java 常用命令工具
  9. PHP可以通过类名调用非静态方法
  10. Java中怎么简单的使用正则表达式?
  11. Codeforces Round #382 (div2)
  12. 【Monkey】Monkey稳定性测试常用命令
  13. day31并发
  14. jq的dom操作
  15. 演练:调试 Windows 窗体
  16. 浏览器的兼容性(CSS浏览器兼容性、CSS hack)
  17. 配置weblogic nodemanager管理器
  18. MySQL中EXPLAIN解释命令 查看索引是否生效
  19. [转帖] Windows 与linux的栈大小问题
  20. ASP.NET MVC2之Model Binder

热门文章

  1. Springboot(八):emoji表情保存到mysql出错的解决办法
  2. Spring Boot教程(六)在springboot中验证表单信息
  3. free查看内存使用情况
  4. Java中参数的引用传递和值传递
  5. vivo 部分链表反转
  6. 自定义配置节点configSections的使用
  7. 网易云课堂_C++程序设计入门(下)_第7单元:出入虽同趣,所向各有宜 – 文件输入和输出_第7单元 - 作业2:编程互评
  8. Gradle之Android Gradle Plugin 主要 Task 分析(三)
  9. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jeewx.weixin_account_user_relation' doesn't exist
  10. spring-mvc 3.* 多视图解析配置实例 ContentNegotiatingViewResolver