АвторИгорь Малеваный

(Анонс) 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. Кодируем даты.

C

В предыдущей статье мы рассмотрели основы нового протокола 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. Мы можем, допустим, просто использовать имя класса ячейки в...

Избавляемся от Singleton-зависимости в Swift

И

«Я в курсе, что Singleton — это антипаттерн, но…». Разработчики часто говорят это при обсуждении кода. За годы обсуждений программисты достигли согласия в том, что паттерн «одиночка» — это плохо. Тем не менее, Apple и многие разработчики на языке программирования Swift продолжают использовать Singleton, как в своих приложениях, так и в фреймворках. Давайте же...

Алгебраические типы. Возможности Типа суммы Enum

А

Теория, это хорошо, но давайте рассмотрим несколько практических примеров. Перед тем, как мы пойдем дальше, запомните "мантру": Число возможных значений вашего типа должно быть равно количеству случаев использования.

Используем flatMap в Swift

И

Здесь на массив json мы применили flatmap и передали функцию, которая будет выполняться для каждого элемента. Каждый элемент - это [String: Any], так что SomeData.init(with:) - идеальный путь для приведения к flatMap. Мы возвратили массив [SomeData]?, и у нас не может возникнуть ошибок в процессе, так как faltMap отсеет все nil, так что любая неудача при загрузке на конечно результате не...

Typo — с этого момента шрифты подвластны каждому!

T

До Typo у меня не было ни одного реджекта от Apple, но в этот раз приложение отклонили. Причина оказалась несколько маразматичной - недопустимое слово в названии приложения.

Instagram

Поддержите ресурс blog.justDev:

Свежие записи

Рубрики