Действительно ли это «лучший стиль», чтобы отправить сообщение и надеяться, что объект ответит, или проверить, реагирует ли он на селектор и что-то вроде резервного, если он этого не делает.Использует откликиToSelector: хороший стиль?
Например:
- (NSString *)stringForObjectValue:(id)obj {
if ([obj respondsToSelector:@selector(intValue)]) {
NSString *roman = [self formatRomanNumber:[obj intValue] resultSoFar:@""];
return roman;
} else {
return [NSString stringWithFormat:@"can't format a %@", [obj class]];
}
}
против
- (NSString *)stringForObjectValue:(id)obj {
NSString *roman = format_roman(@"", [obj intValue]);
return roman;
}
(в приведенном примере из подкласса NSNumberFormatter ... но может быть из подкласса NSObjectFormatter ...)