1. 程式人生 > >Runtime訊息機制,交換方法,動態新增方法,分類新增屬性

Runtime訊息機制,交換方法,動態新增方法,分類新增屬性

#import "NSObject+Objc.h"#import <objc/message.h>@implementation NSObject (Objc)

//static NSString *_name;



- (
void)setName:(NSString *)name
{
   
// 新增屬性,跟物件 // 給某個物件產生關聯,新增屬性 // object:給哪個物件新增屬性 // key:屬性名,根據key去獲取關聯的物件 ,void * == id // value:關聯的值 // policy:策越
    objc_setAssociatedObject(
self, @"name"
, name, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
//    _name = name;
}

- (
NSString *)name
{
   
return objc_getAssociatedObject(self, @"name");
}