iOS类型里面添加属性
来源:互联网 发布:mac图片文件夹在哪 编辑:程序博客网 时间:2024/06/06 18:38
1、在.h里面添加属性
#import <UIKit/UIKit.h>
@interface UIViewController(UIViewExtend)
@property (nonatomic,retain)NSString *key;
@end
2、在.m文件里面添加属性的关联
#import "UIViewController+UIViewExtend.h"
#import <objc/runtime.h>
//定义key属性的唯一标识,存取都是根据该标识处理的
static void *propertyKey = (void *)@"propertyKey";
@implementation UIViewController(HGJExtend)
//key属性的get方法,
//该方法根据propertyKey唯一标示取出对应的值
- (NSString *)key
{
returnobjc_getAssociatedObject(self,propertyKey);
}
//key属性的set方法,该方法根据OBJC_ASSOCIATION_COPY_NONATOMIC定义的存放策略
//把key1的值存储到propertyKey对应的内存里面
- (void)setKey:(NSString *)key1
{
objc_setAssociatedObject(self,propertyKey,key1,OBJC_ASSOCIATION_COPY_NONATOMIC);
}
3、OBJC_ASSOCIATION_COPY_NONATOMIC属性对应.h里面定义的nonatomic和retain字断,
按照前面属性的设置来定义该字断类型:
typedef OBJC_ENUM(uintptr_t, objc_AssociationPolicy) {
OBJC_ASSOCIATION_ASSIGN = 0, //assign
OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1,//nonatomic, retain
OBJC_ASSOCIATION_COPY_NONATOMIC = 3, //nonatomic, copy
OBJC_ASSOCIATION_RETAIN = 01401, //retain
OBJC_ASSOCIATION_COPY = 01403 //copy
};
4、使用
[self setKey:@"hello extend"];
[self key];
- iOS类型里面添加属性
- iOS 给类别里面添加属性
- iOS Runtime 动态添加属性不能添加intrinsic类型
- activex里面的没有CString属性类型
- js里面的属性和方法类型
- iOS类实现里面怎么用属性
- IOS info.plist文件里面添加描述
- IOS 给类目添加属性
- iOS给已有类添加属性
- ios用category添加属性
- iOS为分类添加属性
- iOS 类别 ---不能添加属性
- iOS 为分类添加属性
- iOS 给类别添加属性
- GDI+往jpg图片文件里面添加属性值
- 在config.json里面给图层添加新属性
- js里面怎么动态的为对象添加属性
- js里面怎么动态的为对象添加属性
- 错误The request sent by the client was syntactically incorrect ()的解决
- 学习笔记--设计模式之单例模式
- 【bzoj4551】【Tjoi2016&Heoi2016】【树】【并查集】
- UNITY3D android 启动其他程序,启动apk C#代码
- struts步骤
- iOS类型里面添加属性
- redis 集群 主从 配置 使用
- limit分页优化
- 即时通讯常用第三方库(eg:微信)
- Linux系统使用ps命令查看进程所占cpu和内存比例
- 330. Patching Array (C++实现)
- 适合kali Linux 2.0 的源码(中科大,阿里云、163、上海交通大学源码)
- android之图片切圆角
- iOS 理解KVO与KVC