对象关联 #import "Person.h" //这里不要忘记导入头文件 #import <objc/runtime.h> //最好将键定义为const类型,为了简单这里我们暂不使用这中方式 //static const char* name = "name"; @implementation Person - (NSString*)name{ //返回键为name的属性 return objc_getAssociatedObject(self, "name"); } - (void)setName:(NSString*)name{ //将传进来的name关联到"name"键上 objc_setAssociatedObject(self,"name",name, OBJC_ASSOCIATION_RETAIN_NONATOMIC); } 不要忘了将setter与getter方法声明到.h文件中 #import <Foundation/Foundation.h> @interface Person : NSObject - (NSString*)name; - (void)setName:(NSString*)name; @end 使用关联后的对象的代码 - (void)viewDidLoad { [super viewDidLoad]; Person* person = [[Person alloc] init]; person.name = @"hello"; NSLog(@"关联的属性值为%@",[person name]); // Do any additional setup after loading the view, typically from a nib. } 打印结果如下: 关联的属性值为hello