Runtime实现 属性替代
来源:互联网 发布:离线翻译软件 知乎 编辑:程序博客网 时间:2024/05/01 16:51
.H
#import <Foundation/Foundation.h>
#pragma mark--分类不能添加属性属性实现没有
@interface NSObject (objc)
@property(nonatomic,copy)NSString *classNamep;
@property(nonatomic,copy)NSString *mainTitle;
@end
.M
#import <objc/message.h>
#import "NSObject+objc.h"
@implementation NSObject (objc)
static NSString *_classNamep;
-(void)setClassNamep:(NSString *)classNamep{
_classNamep=classNamep;
}
-(NSString *)classNamep{
return_classNamep;
}
#pragma mark--运行时实现
-(void)setMainTitle:(NSString *)mainTitle{
//添加属性跟对象
//给某个对象产生关联添加属性
//object 给那个对象关联
//key 属性名根据key获取关联的对象
//value 关联的值
//policy 策略用什么策略保存
// void*万能指针
objc_setAssociatedObject(self,@"mainTitle", mainTitle,OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
-(NSString *)mainTitle{
return objc_getAssociatedObject(self,@"mainTitle");
}
@end
运用
NSObject *objc=[[NSObjectalloc] init];
objc.classNamep=@"CC";
objc.mainTitle=@"sdfsd";
NSLog(@"%@",objc.mainTitle);
- Runtime实现 属性替代
- iOS runtime机制实现给分类添加属性
- ObjC Runtime 中 Weak 属性的实现 (上)
- ObjC Runtime 中 Weak 属性的实现 (中)
- iOS开发-Runtime是如何实现weak属性的?
- RunTime实现
- runtime动态添加属性
- runtime 关联属性
- runtime关联属性
- 利用runtime添加属性
- Runtime 动态添加属性
- runtime -- 动态添加属性
- runTime之属性关联
- runtime之@dynamic属性
- 替代TreeView默认ToolTip属性
- 用换位实现替代
- localtime_r的替代实现
- localtime_r的替代实现
- Android应届生面试应该掌握的技能
- Confluence(一)--安装
- 计算机网络——复习大纲
- 老曹的忧郁
- Windows上帝模式
- Runtime实现 属性替代
- Android之结束所有activity-使用Intent.FLAG_ACTIVITY_CLEAR_TOP
- Java制作说明书并使用说明文档,Math,API
- 欢迎使用CSDN-markdown编辑器
- centos安装svn服务器详细步骤
- How To Do Research In the MIT AI Lab_1_Reading AI
- iOS 9新特性
- hdu4756(最小生成树最佳替换边)
- 设置Button背景渐变效果和点击效果