Если метод Protocol помечен @required, когда он не реализован, почему компилятор выдает предупреждение, а не ошибку?

Предположим, что:

  • Объявлен новый протокол
  • Метод в этом протоколе помечен @required
  • Класс соответствует протоколу
  • Класс не реализует метод, упомянутый в протоколе

Во время компиляции информация об этом методе известна: т.е. что он необходим и что этот класс и любые другие классы, которые этот класс может расширять, не реализуют его.

Почему в этом случае компилятор выдает предупреждение, а не ошибку?

6
задан James Raitsev 18 December 2011 в 01:59
поделиться