Viktor G.

iOS developer

Форматирование номера телефона (Swift)

Простая, но полезная с точки зрения UX штука - автоматическое форматирование телефонного номера в более читаемый формат. Задача простая: форматирование (в живом режиме) номера телефона из формата "XXXXXXXXXXX" в более красивый "+X (XXX) XXX-XXX".


UIButton Radio button

Моя имплементация радио кнопки на основе UIButton, почему-то этого нет в UIKit, хотя может понадобиться. Мой текущий проект использует Storyboard, так что она работает для встраивания в XIB, но этот класс так же можно встраивать и при программной вёрстке.


Условный тип в модели JSON-ответа (Swift 5)

Недавно я работал с API запросом, ответом от которого был JSON, в котором одно из значений могло быть либо Bool, либо String.


Декодирование JSON в Swift 5

Простой способ декодирования JSON в структуру в Swift без использования сторонних библиотек (регистрации и смс).


Выделение и копирование текста в UITableViewCell (Swift 5)

Короткая запись, но я подумал, что надо сохранить этот код, потому что я слишком долго искал, как это сделать.


Зачем нужен .gitignore и как им пользоваться

.gitignore - это указание Git-у, какие файлы нужно пропустить, игнорировать и не добавлять в репозиторий. Скрытый файл добавляется в директорию с проектом, в которой создается git-репозиторий. Это нужно, например, чтобы не таскать в проекте сторонние библиотеки, которые могут часто обновляться, личные файлы и другие документы, которые не хочется палить. В Xcode такими могут быть директории xcuserdata, xcshareddata, а также Pods, где хранятся поды. При скачивании вашего проекта другим пользователем понадобится загрузить необходимые поды, для этого в проекте остаётся Podfile.


Простой индикатор загрузки (Activity Indicator)

Ещё один простой кусочек кода, на этот раз для UI-элемента, сообщающего нам об ожидании.


Полезности для macOS

Сохраняю скорее для себя, на случай, если когда-нибудь что-то понадобится