我正在寻找一种方法从其名称访问我的一个属性。 例如,我在特定类中有3个属性
@property (nonatomic, weak) UIImageView *image1;
@property (nonatomic, weak) UIImageView *image2;
@property (nonatomic, weak) UIImageView *image3;
我有一个方法
- (void)accessProperty:(NSString *)propertyName{
//image1, image2 or image3 will be passed here.
//how can I access the property with its name ?????
}
任何帮助将不胜感激。
让我更准确地提及我的需要。
我有3 imageView
但我想将图像设置为特定的imageView,其名称与我传递给方法的名称匹配。例如,如果我将该方法称为
[self accessProperty:@"image1"];
然后应将图片设置为imageView1
答案 0 :(得分:1)
你想要valueForKey
。这是Key-Value coding(KVC):
for (NSUInteger i = 1; i <= 3; i++) {
NSString *key = [NSString stringWithFormat:@"image%u", i];
UIImageView *value = [self valueForKey:key];
}