Это не урок, а небольшой трюк, где мы расширим тип Collection и обойдем «Index Out of Range» ошибку при работе с массивами.
Полезные ссылки: Subscripts:
Collection Protocol:
Подписываемся на канал что бы не пропустить обновления!
Подписаться
Комментируем, высказываем свои за и против данного метода =)
Безопасное извлечение по индексу из массива (Swift 5)
WWDC 2018. 03 В ожидании конференции. Мой путь в Сан Хосе и впечатления от Apple Park.
До WWDC 2018 остались считанные дни. Прилететь на локацию я решил заранее. Во первых что бы погулять по окрестностям Кремниевой (НЕ СИЛИКОНОВОЙ) Долины. Так случилось, что мой путь был не из легких, но я стоически принял выпавшие на него форс-мажоры и таки добрался. И да, эту статью я пишу, сидя в кафетерии Apple Park Visitor Center. Так что впечатления будут самые актуальные. И да, если вы не...
WWDC 2018. 02 Виза в США и как я её получил
Продолжая цикл статей обо всех особенностях WWDC 2018, было бы большой ошибкой не описать такое страшное для многих явление, как виза в США и ее оформление. Начало пути к WWDC, участие в розыгрыше права на покупку билета и прочие нюансы я описал в предыдущей статье. На самом деле, визу в США получить значительно проще чем во многие страны Европы. Многих чуть ли не трусит от страха перед...
WWDC 2018. 01 Начало долгого пути
WWDC 2018 или Worldwide Developer Conference 2018 — всемирная конференция для разработчиков, которая ежегодно проводится компанией Apple в Калифорнии, США. В этом году конференция будет проводится в период с 4 по 8 июня в конференц-центре McEnery, который находится в центре «столицы» Кремниевой Долины — Сан Хосе. В цикле статей о WWDC 2018 я хотел бы осветить все аспекты...
(Анонс) MVC с легким ароматом анти-паттерна
«Я использую MVC с тех пор, как начал структурировать мой код много лет назад. Я так долго использовал его, что теперь даже не представляю иного способа структурировать свой код, а все проекты, в которых я участвовал так же были построены на MVC». Такой вопрос я прочитал на одном из зарубежных форумов. И хоть это вопрос одного человека — как же сильно он передает боль всех, кто...
Опционалы Swift. Небольшой трюк guard
В этой небольшой статье я покажу вам крошечный трюк, немного больше раскрывающий Опционалы Swift. Статья будет совсем миниатюрная — просто небольшой фрагмент кода, который будет полезен в некоторых сценариях. Вы, вероятно, часто видите подобный фрагмент кода: guard let myObject = MyObject(dependency: xyz) else { print("This thing is nil") return } doSomethingWithObject(myObject) 12345 guard...
Паттерн Cake и введение зависимостей.
Есть разные способы инъекций (injection) или введений зависимостей в код. Одна из интересных концепций, с которой я познакомился буквально на днях, реализуется через паттерн Cake. Эта реализация вытекает из Scala, которая основана на концепции, что зависимости нужно вводить только через интерфейс(протокол), а не конкретный класс. Кстати, я уже писал ранее о введении зависимостей в Singleton для...
Codable Date в Swift 4. Кодируем даты.
В предыдущей статье мы рассмотрели основы нового протокола Swift 4 Codable на примере кодирования структур и их миксов. В этой статье вы узнаете, как работать с Codable Date при кодировании и декодировании. Давайте создадим простую структуру, как в прошлой статье, только добавим в нее свойство типа Date: struct Hotel : Codable { var name: String var bookingFor: Date } 1234 struct Hotel : Codable...
Основы Codable в Swift 4. Лучше решения не найти
Swift 4 принес с собой множество крупных улучшений. И сегодня я хочу рассмотреть одно из них — новый протокол, входящий в стандартную библиотеку Swift, протокол Codable. Этот протокол позволяет соответствовать нашим собственным типам, что бы получить свободную функциональность кодирования и декодирования. Кодирование и декодирование типов еще никогда не было проще! Углубимся в Codable...
Простое и безопасное создание UITableViewCell
Было бы очень здорово найти решение, позволяющее уйти от привычного всем, но громоздкого способа создания UITableViewCell в UITableView, уйти от постоянного использования идентификаторов ячеек при их создании. Ведь с таким громоздким подходом очень просто наделать ошибок, и этот стандартный путь явно идет вразрез с простотой Swift. Мы можем, допустим, просто использовать имя класса ячейки в...