Он также создает код, который более пригоден для использования в IDE. Например, если я смотрю на
@interface MyController : NSObject <FooBarDelegate> {
}
@end
Я могу команду + двойной щелчок в XCode, чтобы перейти к определению FooBarDelegate. Для категории нет официального заявления о намерении стать делегатом.
Кроме того, @required может стать проблемой для будущих планов в отношении обратной двоичной совместимости и новой подписи предпочтительного метода.