iOS 中 为cagetory 添加属性

发布时间:2020-07-20 17:30:19 作者:zql5666641
来源:网络 阅读:529

我们知道 在iOS中cagetory里面只能添加方法 ,如果我们想添加属性 就要用到

<objc/runtime.h>

OBJC_EXPORT void objc_setAssociatedObject(idobject, constvoid *key, id value, objc_AssociationPolicy policy)
__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_1);
OBJC_EXPORT id objc_getAssociatedObject(idobject, constvoid *key)
__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_1);



例如

@interface UIButton(custom)

@property (nonatomic, copy) NSIndexPath *selectIndexPath;

@end


staticNSIndexPath *k_SelectIndexPath;


@implementation UIButton(custom)

@dynamic selectIndexPath;

- (void)setSelectIndexPath:(NSIndexPath *)selectIndexPath

{

objc_setAssociatedObject(self, &k_SelectIndexPath, selectIndexPath, OBJC_ASSOCIATION_COPY);

}


- (NSIndexPath*)selectIndexPath

{

returnobjc_getAssociatedObject(self, &k_SelectIndexPath);

}

@end





推荐阅读:
  1. 2019 全网 iOS 面试题以及答案总结!
  2. iOS开发常见面试题

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ios category 属性扩展 age tor

上一篇:python调用tushare获取沪股通、深股通成份股数据

下一篇:开发一个商城小程序要多少钱

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》