我想在运行时动态创建实例变量,并且想将这些变量添加到类别中。实例变量的数量可能会根据我用于定义它们的配置/属性文件而变化。
有任何想法吗??
Use 关联参考 http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocAssociativeReferences.html- 这很棘手,但这是专门为您的用例发明的机制。
这是上面链接中的示例:首先,定义一个引用并将其添加到您的对象中,使用objc_setAssociatedObject
;然后你可以通过调用取回值objc_getAssociatedObject
.
static char overviewKey;
NSArray *array = [[NSArray alloc] initWithObjects:@ "One", @"Two", @"Three", nil];
NSString *overview = [[NSString alloc] initWithFormat:@"%@", @"First three numbers"];
objc_setAssociatedObject (
array,
&overviewKey,
overview,
OBJC_ASSOCIATION_RETAIN
);
[overview release];
NSString *associatedObject = (NSString *) objc_getAssociatedObject (array, &overviewKey);
NSLog(@"associatedObject: %@", associatedObject);
objc_setAssociatedObject (
array,
&overviewKey,
nil,
OBJC_ASSOCIATION_ASSIGN
);
[array release];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)