Категории использования закрытых методов в Objective C: вызов супер от подкласса

Вот большое сообщение в блоге Dan Crevier , который идет через тестовое приложение, которое он записал для показа различий.

В сущности:

  • < % = выражения оценен во время рендеринга
  • < % # выражения оценен в DataBind () время и не оценен вообще, если DataBind () не называют.
  • < % # выражения может использоваться в качестве свойств в средствах управления серверной стороны. < % = выражения не может.

12
задан Community 23 May 2017 в 11:55
поделиться

2 ответа

Эта страница GNUStep описывает один подход Раздел 4.5:

... Яркая сторона этого позволяет моделировать защищенные методы тоже. Для этого писатель подкласса необходимо сообщить в некоторых способ о защищенных методах, и им придется мириться с предупреждения компилятора. В качестве альтернативы вы может объявить защищенную категорию в отдельном файле интерфейса (например, "PointProtected.h") и предоставьте это файл интерфейса с пониманием что его следует только импортировать и используется файлом интерфейса подкласса.

13
ответ дан 2 December 2019 в 05:54
поделиться

В Apple, когда они создают фреймворки, типичным шаблоном является наличие общедоступного заголовка (MyClass.h) и частного заголовка (MyClass_private.h) и копирование только общедоступных заголовков в построить продукт. Файл .m, конечно же, будет # импортировать их обоих.

13
ответ дан 2 December 2019 в 05:54
поделиться