0

我在一个数组中有一堆键和值,想知道我是否可以调用

[self setValue:obj forKey:key];

为我的课。目前我使用以下方法来查看是否存在 setter 方法。

    [userDefaults enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
        NSString *firstCapChar = [[key substringToIndex:1] capitalizedString];
        NSString *cappedString = [key stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:firstCapChar];
        SEL selector = NSSelectorFromString([[@"set" stringByAppendingString:cappedString] stringByAppendingString:@":"]);
        if ([self respondsToSelector:selector]) {
            [self setValue:obj forKey:key];
        }
    }];

我很好奇是否有更简单的方法进行这种检查。

4

0 回答 0