美文网首页
Runtime的动态添加属性

Runtime的动态添加属性

作者: 成长的船 | 来源:发表于2017-08-08 10:03 被阅读0次

    Add property

    动态的添加属性

    #import "NSObject+Objc.h"
    #import <objc/runtime.h>
    
    @implementation NSObject (Objc)
    
    -(void)setName:(NSString *)name
    {
        /* objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy)
         * object :给哪个类添加属性
         * key:属性名,根据key,来进行关联,eg:addName来关联name
         * objc_AssociationPolicy: 关联策略,就是那种存储类型 NSString用copy撒
         */
    
        objc_setAssociatedObject(self, @"addName", name, OBJC_ASSOCIATION_COPY_NONATOMIC);
    
    }
    -(NSString *)name{
    
        return objc_getAssociatedObject(self, @"addName");
    }
    @end
    

    相关文章

      网友评论

          本文标题:Runtime的动态添加属性

          本文链接:https://www.haomeiwen.com/subject/uuttrxtx.html