Найти в Дзене
Method Dispatch в Swift
Многие из вас, должно быть, сталкивались с вопросом диспетчеризации методов в интервью или сами задавались им когда те или иные методы работали или не отрабатывали так как вы этого сами ожидали. Поэтому дайте разбираться в том что это такое и какие виды диспетчеризации бывают. Любой разработчик должен быть внимателен к тому как именно написать ту или иную функцию, чтобы бы она была быстрой, простой и одновременно с этим также быстро вызывалась. Нельзя просто полагаться на то что Swift методы быстрее чем в obj-c так что эта не такая уж и большая проблема, рассмотрим все варианты...
2 года назад
Понимание Swift Copy-on-Write механизма
В Swift у нас есть ссылочные типы (классы) и типы значений (структуры, кортежи, перечисления). Типы значений имеют семантику копирования. Это означает, что если вы назначаете тип значения переменной или передаете его в качестве параметра функции (если это не параметр inout), базовые данные этого значения будут скопированы. У вас будет два значения с одинаковым содержимым, но выделенные в двух разных адресах памяти. Для более подробного объяснения разницы между типами ссылок и значений в блоге Apple или в нашей статье...
2 года назад
Swift: Value vs Reference типы, когда какой использовать?
В Swift есть две категории типов: типы значений и типы ссылок. Экземпляр типа значения хранит уникальную копию своих данных, например, структуру или перечисление. Тип ссылки, имеет одну копию своих данных, и тип обычно является классом. Мы также обсудим такие типы, как кортежи, замыкания и функции, как они работают, как их использовать и что происходит при смешивании типов. Для того чтобы погрузиться в тему скачайте с репозитория следующий playground проект Value типы (типы значения) Экземпляр типа значения является независимым экземпляром и хранит свои данные в собственной памяти...
2 года назад