iOS 给系统的对象添加额外的属性----关联属性

Posted 1018475062

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 给系统的对象添加额外的属性----关联属性相关的知识,希望对你有一定的参考价值。

@interface NSObject (Objc) // 

 @property (nonatomic, strong) NSString *name;

// 在分类中 给系统的类添加属性, 一搬系统的类不能添加额外的属性

@end

#import "NSObject+Objc.h"

 #import <objc/message.h>

@implementation NSObject (Objc)

 //static NSString *_name;

-(void)setName:(NSString *)name{

// 给那个对象添加属性

    // key:

    objc_setAssociatedObject(self ,@"name" , name, OBJC_ASSOCIATION_COPY);

    // _name = name;

}

-(NSString *)name{

   return objc_getAssociatedObject(self, @"name");

    // return _name;

}@end

以上是关于iOS 给系统的对象添加额外的属性----关联属性的主要内容,如果未能解决你的问题,请参考以下文章

iOS动态性:动态添加属性的方法——关联(e.g. 向Category添加属性)

Alamofire:具有额外属性的可编码对象

iOS runtime实战应用:关联对象

关联对象实现原理

关联对象实现原理

关联对象实现原理