温馨提示×

温馨提示×

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

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

iOS 中 为cagetory 添加属性

发布时间:2020-07-20 17:30:19 来源:网络 阅读:618 作者:zql5666641 栏目:移动开发

我们知道 在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





向AI问一下细节

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

AI