Mik*_*ler 10
您可以使用Objective-C关联引用.您可以在此处阅读有关它们的Apple文档:关联参考
基本上,这允许您使用objc_setAssociatedObject函数将对象附加到任何实例,如下所示:
#import <objc/runtime.h>
/* The key for the associated object must be void* so you can use a static variable to get a
unique pointer. Alternatively you can use _cmd since selectors are constant and unique. */
static char key;
objc_setAssociatedObject(theInstanceToAddYourObjectTo,
&key,
@"The object you want to add",
OBJC_ASSOCIATION_RETAIN);
Run Code Online (Sandbox Code Playgroud)
要再次获取关联对象:
id value = objc_getAssociatedObject(theInstanceToAddYourObjectTo, &key);
Run Code Online (Sandbox Code Playgroud)
要清除关联的对象,请将nil作为值传递:
objc_setAssociatedObject(theInstanceToAddYourObjectTo,
&key,
nil,
OBJC_ASSOCIATION_ASSIGN);
Run Code Online (Sandbox Code Playgroud)
因此,使用这些函数可以添加自己的实例变量,以便在类别方法等中使用.
| 归档时间: |
|
| 查看次数: |
779 次 |
| 最近记录: |