В объекте-c я могу сделать что-то вроде
@interface MyViewController : UIViewController <UITextInputDelegate>
для создания спецификация для класса MyViewController, реализующего протокол UITextInputDelegate. Теперь у этого протокола есть несколько требуемых методов, поэтому я думаю, что компилятор не позволит компилировать код вообще, если эти методы фактически не имеют реализации в файле .m. Тем не менее, это компилируется. Компилятор выдает предупреждения , поэтому очевидно, что он обнаруживает, что я не реализовал требуемые методы, но мне интересно, почему имеет смысл разрешить компиляцию вообще со стороны разработчика языка .