我在数组中有一堆键和值,想知道我能不能打电话
[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];
}
}];
我很好奇是否有更简单的方式进行这种检查。