zoukankan      html  css  js  c++  java
  • 用Objective-C的Category特性添加类的属性

    http://www.cnblogs.com/wupher/archive/2013/01/05/2845338.html

    Category是Objective-C中常用的语法特性,通过它可以很方便的为已有的类来添加函数。但是Category不允许为已有的类添加新的属性或者成员变量。     
    一种常见的办法是通过runtime.h中objc_getAssociatedObject / objc_setAssociatedObject来访问和生成关联对象。通过这种方法来模拟生成属性.

    //NSObject+IndieBandName.h
    @interface NSObject (IndieBandName)
    @property (nonatomic, strong) NSString *indieBandName;
    @end

    // NSObject+IndieBandName.m
    #import "NSObject+Extension.h"
    #import <objc/runtime.h>
    static const void *IndieBandNameKey = &IndieBandNameKey;
    @implementation NSObject (IndieBandName)
    @dynamic indieBandName;

    - (NSString *)indieBandName {
    return objc_getAssociatedObject(self, IndieBandNameKey);
    }

    - (void)setIndieBandName:(NSString *)indieBandName{
    objc_setAssociatedObject(self, IndieBandNameKey, indieBandName, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
    }

    @end

     
  • 相关阅读:
    运算放大器
    阻抗模型
    mysql优化
    tomcat调优
    jvm调优
    springboot使用
    deploy工程到nexus
    Spring data elasticsearch使用
    kibana使用
    笔记
  • 原文地址:https://www.cnblogs.com/taojigu/p/3397414.html
Copyright © 2011-2022 走看看