Моя имплементация радио кнопки на основе UIButton, почему-то этого нет в UIKit, хотя может понадобиться. Мой текущий проект использует Storyboard, так что она работает для встраивания в XIB, но этот класс так же можно встраивать и при программной вёрстке.
Недавно я работал с API запросом, ответом от которого был JSON, в котором одно из значений могло быть либо Bool, либо String.
Простой способ декодирования JSON в структуру в Swift без использования сторонних библиотек (регистрации и смс).
Короткая запись, но я подумал, что надо сохранить этот код, потому что я слишком долго искал, как это сделать.
.gitignore - это указание Git-у, какие файлы нужно пропустить, игнорировать и не добавлять в репозиторий. Скрытый файл добавляется в директорию с проектом, в которой создается git-репозиторий. Это нужно, например, чтобы не таскать в проекте сторонние библиотеки, которые могут часто обновляться, личные файлы и другие документы, которые не хочется палить. В Xcode такими могут быть директории xcuserdata, xcshareddata, а также Pods, где хранятся поды. При скачивании вашего проекта другим пользователем понадобится загрузить необходимые поды, для этого в проекте остаётся Podfile.
Ещё один простой кусочек кода, на этот раз для UI-элемента, сообщающего нам об ожидании.
Сохраняю скорее для себя, на случай, если когда-нибудь что-то понадобится
Открыть запароленный zip архив на MacOS
С помощью стандартного терминала:
unzip -P password путь/к/файлу
Научиться использовать Automator и быть счастливым:
Подробный гид
(может сделать из этого отдельный пост?) (хотя он может быть менее актуален с появлением и развитием Shortcuts)
Разархивировать файл, состоящий из нескольких частей
Есть несколько частей архива: archive.tgz.part1, archive.tgz.part2, archive.tgz.part3. Переходим в директорию с файлами и выполняем следующее:
cat archive.tgz.part* > archive.tgz
Ура! Этому блогу ровно год!