Как стать автором
Обновить

Комментарии 10

А вы не интересовались реальной ситуацией с контейнерами для дженериков? Если я не ошибаюсь, то находя в коде вызов дженерик метода, компилятор просто создает копию метода для конкретного типа. Поэтому количество вызовов дженерик методов может влиять на размер бинарника. Что касается контейнера и выделение памяти, это автор с экземплярами протокольного типа в рантайме путает.

Вроде не ошибаетесь. Ellie Shin из Uber неплохо раскрыла эту проблему в своем докладе Putting Your App on a Diet
Ну вообще если мы возьмем код стека на темплейтах из статьи, сгенерим две переменных с интовым стеком и одну со стринговым, а потом выдернуть у них типы через type(of:), то типы у интовых совпадут, а у стрингового будет другой. Будь там реально контейнер совпали бы все три ИМХО.
К тому же я почти уверен что это все обертка над плюсовыми темплейтами, а в C++ все темплейты разрешаются на этапе компиляции
Все хорошо, вот ток смущает «iOS разработчик. Продвинутый курс».
Не понятно почему простейшая работа с generic-ами стала продвинутым курсов — в swiftbook это есть, и расписано подробней.

При этом в статье нет рассказа о всяких изощрённых использований generic, о том как они интересно с автовывоводом типов сочетаются, ну и о том как внутри работает.
Я не являясь разработчиком iOS и разработчиком вообще, хотя и имею кое какие знания в этом успешно прошел их тестирование на оценку Б, типа ваших знаний достаточно чтобы записаться на курс. Все, что нужно знать о продвинутости.
Добрый день. Тестирование оценивает лишь базовые знания, для понимания того, потяните ли Вы программу. Для понимания формата обучения можете посмотреть запись открытого урока, а также ознакомиться с программой курса.
Перевод данной статьи не имеет отношения к программе курса. Это просто интересная информация и не более.

Замечание. "TypeParameter" — это PascalCase, а camelCase — с горбом посередине.
Правда, с прыгающим капсом есть путаница и разногласия (и русская вика пишет иное, чем английская). Поэтому настаивать не буду, но, как говорится, JFYI.

Вы ещё вспомните, что по правильному дженерики — обобщения (по аналогии с обобщённым программированием).

По-правильному, заимствовать можно и транскрипцией, и калькой. Дженерики заимствованы так, шаблоны этак, обобщённое программирование ещё этак.


А вот то, что ПаскальКейс и кемелКейс суть разные стили, — как бы очевидно.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.