0

我正在尝试从我在字符串中具有名称但需要其指针的属性设置值。(我相信)

我有:

unsigned int propCount = 0;
objc_property_t *properties = class_copyPropertyList([self class], &propCount);

for(int idx = 0; idx < propCount; idx++) {
    objc_property_t prop = *(properties + idx);
    NSString *key = @(property_getName(prop));
    NSString *key2 = @(property_getAttributes(prop));

    NSLog(@"%@::%@", key,key2);

    if ([key2 rangeOfString:@"UITextField"].location != NSNotFound) {
        NSLog(@"is a uitextfield");

        [self.form setValue:self.comments forKey:key];
    }
}

键=“评论”

我想使用 self.key 之类的东西,而不是使用 self.comments,但我知道我不能那样做。我怎样才能做到这一点?

4

1 回答 1

0

解决方案是使用Key-Value Coding。您可以将引用self.comments替换[self valueForKey:key]keywas @"comments"。如果您想做一个简单的检查以确保它们指向相同的内存地址,请使用以下命令:

NSLog(@"%p %p", [self valueForKey:key], self.comments);
于 2013-11-01T15:49:45.667 回答