Est-ce un "meilleur style" pour envoyer un message et espérer que l'objet répond, ou pour vérifier s'il répond à un sélecteur et avoir une sorte de repli si ce n'est pas le cas.Utilise respondsToSelector: bon style?
Par exemple:
- (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]];
}
}
contre
- (NSString *)stringForObjectValue:(id)obj {
NSString *roman = format_roman(@"", [obj intValue]);
return roman;
}
(l'exemple est d'une sous-classe NSNumberFormatter ... mais il pourrait être d'une sous-classe NSObjectFormatter ...)