EasySwift iOS🍏
3.03K subscribers
269 photos
8 videos
394 links
Все самое интересное в мире iOS разработки 🧑🏻‍💻

Предложить статью или новость: @EasySwiftBot

По всем вопросам обращаться к @itereznikov
Download Telegram
Функция высшего порядка

Функция высшего порядка – это функция, которая принимает другую функцию в качестве аргумента.
Стандартная библиотека Swift предоставляет ряд полезных методов более высокого порядка. Чаще всего используются filter, map, reduce и sorted.
👍9
Перечисления

Перечисления полезны, когда нам нужно работать с группой однотипных значений. Когда же создается пример для перечисления, значение обязательно должно быть равным какому-либо случаю.
👍7
Метод наборов .subtracting()

Sets (наборы) – неупорядоченные коллекции уникальных элементов. Вы можете создать новый набор, который будет состоять из элементов первого набора, но при этом без общих элементов двух входных наборов. Для этого используйте метод .subtracting().
👍8
Объединение массивов

Если у вас есть два однотипных массива и вы хотите объединить их, то вы легко можете сделать это с помощью операции сложения.
13
Написание хорошего и переиспользуемого кода - это не только про архитектуру. Протоколы и дженерики - два крутых инструмента для того, чтобы сделать код гибким и переиспользуемым 🤸
Вот отличная статья про some и any кейворды с дженерик протоколами в Swift 5.7 🔥
https://www.swiftbysundell.com/articles/referencing-generic-protocols-with-some-and-any-keywords/
👍7
Передача замыканий в функции

Замыкания могут быть переданы в качестве аргументов в функции. Передача замыканий функциям позволяет указать, как должна работать функция.
🔥9
Замыкания

Замыкания – это автономные функциональные блоки. Как и функции, замыкания принимают аргументы, выполняют инструкции и возвращают значение или Void.
1
очень полезный материал снова о базовых вещах с памятью

программист — это впервую очередь не заложник своей платформы. И изучая иос не нужно забывать, что этот мир яблок не отдельный остров, который далек от компьютерных наук. А лишь абстракция над общим устройством компьютеров

https://youtu.be/TajLTcjBgIg
👍5🔥4
Raw Values

Перечисления могут иметь raw value, связанное с каждым случаем, путем добавления : RawValueType после имени перечисления. Raw value может быть присвоено типам String, Character, Int, Double или Float. Перечисления с raw value могут быть созданы с помощью init(rawValue:).
👍8👏2
Приватные сеттеры

Доступ к свойствам, помеченным как private(set), можно получить из-за пределов
структуры, но присвоить только внутри нее. Это позволяет сеттеру быть более строгим, чем геттеру.
👍8
HTTP - протокол прикладного уровня, который используется для передачи данных.

Основной http является клиент-сервер.

Каждое HTTP сообщение состоих из трех частей, которые передаются в указанном порядке
1. стартовая строка - определяет тип сообщения
2. заголовки - характерезуют тело сообщения, параметры передачи и прочие сведения
3. тело сообщения - непосредственно данные сообщения

Методы HTTP запросов:

get - используется для запроса содержимого указанного ресурса.

head - аналогичен запросу get, за исключением того, что в ответете сервера отсутствует тело

post - применяется для передачи данных заданому ресурсу

put - применяется для загрузки содержимого запроса

patch - аналогично put, но только применяется к фрагменту ресурса

delete - удаляет указанный ресурс

trace - возвращает полученный запрос

connect - преобразует соединение запроса в прозрачный TCP/IP-туннель
👍12
Функция stride()

Если нам нужно в массиве пройтись по значением с определенным шагом, стоит воспользоваться функцией stride(). Первый аргумент - начальное число. Второй аргумент - до какого числа идет перемещение. Третий аргумент - шаг перемещения. Он может быть как положительным, так и отрицательным.
👍15😱1
Optional Binding

Optional Binding позволяет проверить, содержит ли опционал .some-значение. Если содержит, извлекает его и предоставляет к нему доступ с помощью локальной переменной (обычно константной). Optional Binding работает в контексте конструкций if, while и guard. Если опционал в состоянии nil, запускается блок else.
👍7
Приватные сеттеры

Доступ к свойствам, помеченным как private(set), можно получить из-за пределов
структуры, но присвоить только внутри нее. Это позволяет сеттеру быть более строгим, чем геттеру.
👍9🤯2
Channel name was changed to «EasySwift iOS»
Для чего нужны closures (замыкания) в Swift и как с ними работать?

📖 Замыкания - это мощная концепция, которая позволяет использовать множество различных шаблонов программирования.
Однако для многих начинающих программистов closures могут быть сложными в понимании и дальнейшем использовании.
Это особенно верно, когда замыкания используются в асинхронном контексте.

Например, когда они используются в качестве completion handlers или передаются в приложении, чтобы их можно было вызвать позже.

В своём посте автор объясняет, что такое замыкания в Swift, как они работают и, самое главное, показывает различные примеры замыканий с возрастающей сложностью.

В этой заметки автор обещает объяснить всё, что необходимо знать для эффективного использования замыканий в приложении.
👍11
Наблюдатели

Наблюдатели выполняют код, когда меняется свойство. Наблюдатель willSet создается прямо перед изменением свойства, он создает переменную newValue. Наблюдатель didSet срабатывает сразу после изменения свойства и создает oldValue.
👍11🔥1
Параметры In-Out

В Swift аргументы функции – константы. В результате этого невозможно изменить значение параметра, которое передается в функцию. Параметр in-out позволяет функции переназначить значение переменной. Для этого параметр помечается inout, используется & при передаче параметра в вызов функции.
🔥14👍1
Проверяем, сколько раз символ встречается в строке

Если вам надо выяснить, сколько раз в строке встречается символ, то смотрите видео ниже. В нем рассматривают два способа решения такой задачи.

👀Смотреть видео
👍9