Async/Await , Combine, Closures: руководство по современному асинхронному Swift
https://quickbirdstudios.com/blog/async-await-combine-closures/
https://quickbirdstudios.com/blog/async-await-combine-closures/
QuickBird Studios
Combine, Closures: A Guide to Modern Asynchronous Swift
A comparison between async/await, Combine, and closures in Swift. Includes an overview of the strengths and weaknesses of the different approaches.
🔥8👍2
Написание хорошего и переиспользуемого кода - это не только про архитектуру. Протоколы и дженерики - два крутых инструмента для того, чтобы сделать код гибким и переиспользуемым 🤸
Вот отличная статья про
https://www.swiftbysundell.com/articles/referencing-generic-protocols-with-some-and-any-keywords/
Вот отличная статья про
some
и any
кейворды с дженерик протоколами в Swift 5.7 🔥https://www.swiftbysundell.com/articles/referencing-generic-protocols-with-some-and-any-keywords/
Swift by Sundell
Using the ‘some’ and ‘any’ keywords to reference generic protocols in Swift 5.7 | Swift by Sundell
How Swift 5.7 makes generic protocols more powerful and easier to work with, thanks to the ‘some’ and ‘any’ keywords.
👍7
очень полезный материал снова о базовых вещах с памятью
программист — это впервую очередь не заложник своей платформы. И изучая иос не нужно забывать, что этот мир яблок не отдельный остров, который далек от компьютерных наук. А лишь абстракция над общим устройством компьютеров
https://youtu.be/TajLTcjBgIg
программист — это впервую очередь не заложник своей платформы. И изучая иос не нужно забывать, что этот мир яблок не отдельный остров, который далек от компьютерных наук. А лишь абстракция над общим устройством компьютеров
https://youtu.be/TajLTcjBgIg
YouTube
Лекция 3. Работа с памятью, выполнение программ (Программирование на C++, часть 1)
https://compscicenter.ru/
Лекция №3 в курсе "Программирование на C++, часть " (осень 2018).
Преподаватель курса: Валерий Михайлович Лесин
Лекция №3 в курсе "Программирование на C++, часть " (осень 2018).
Преподаватель курса: Валерий Михайлович Лесин
👍5🔥4
HTTP - протокол прикладного уровня, который используется для передачи данных.
Основной http является клиент-сервер.
Каждое HTTP сообщение состоих из трех частей, которые передаются в указанном порядке
1. стартовая строка - определяет тип сообщения
2. заголовки - характерезуют тело сообщения, параметры передачи и прочие сведения
3. тело сообщения - непосредственно данные сообщения
Методы HTTP запросов:
get - используется для запроса содержимого указанного ресурса.
head - аналогичен запросу get, за исключением того, что в ответете сервера отсутствует тело
post - применяется для передачи данных заданому ресурсу
put - применяется для загрузки содержимого запроса
patch - аналогично put, но только применяется к фрагменту ресурса
delete - удаляет указанный ресурс
trace - возвращает полученный запрос
connect - преобразует соединение запроса в прозрачный TCP/IP-туннель
Основной http является клиент-сервер.
Каждое HTTP сообщение состоих из трех частей, которые передаются в указанном порядке
1. стартовая строка - определяет тип сообщения
2. заголовки - характерезуют тело сообщения, параметры передачи и прочие сведения
3. тело сообщения - непосредственно данные сообщения
Методы HTTP запросов:
get - используется для запроса содержимого указанного ресурса.
head - аналогичен запросу get, за исключением того, что в ответете сервера отсутствует тело
post - применяется для передачи данных заданому ресурсу
put - применяется для загрузки содержимого запроса
patch - аналогично put, но только применяется к фрагменту ресурса
delete - удаляет указанный ресурс
trace - возвращает полученный запрос
connect - преобразует соединение запроса в прозрачный TCP/IP-туннель
👍12
Функция stride()
Если нам нужно в массиве пройтись по значением с определенным шагом, стоит воспользоваться функцией stride(). Первый аргумент - начальное число. Второй аргумент - до какого числа идет перемещение. Третий аргумент - шаг перемещения. Он может быть как положительным, так и отрицательным.
Если нам нужно в массиве пройтись по значением с определенным шагом, стоит воспользоваться функцией stride(). Первый аргумент - начальное число. Второй аргумент - до какого числа идет перемещение. Третий аргумент - шаг перемещения. Он может быть как положительным, так и отрицательным.
👍15😱1
Optional Binding
Optional Binding позволяет проверить, содержит ли опционал .some-значение. Если содержит, извлекает его и предоставляет к нему доступ с помощью локальной переменной (обычно константной). Optional Binding работает в контексте конструкций if, while и guard. Если опционал в состоянии nil, запускается блок else.
Optional Binding позволяет проверить, содержит ли опционал .some-значение. Если содержит, извлекает его и предоставляет к нему доступ с помощью локальной переменной (обычно константной). Optional Binding работает в контексте конструкций if, while и guard. Если опционал в состоянии nil, запускается блок else.
👍7
Для чего нужны closures (замыкания) в Swift и как с ними работать?
📖 Замыкания - это мощная концепция, которая позволяет использовать множество различных шаблонов программирования.
Однако для многих начинающих программистов closures могут быть сложными в понимании и дальнейшем использовании.
Это особенно верно, когда замыкания используются в асинхронном контексте.
Например, когда они используются в качестве completion handlers или передаются в приложении, чтобы их можно было вызвать позже.
В своём посте автор объясняет, что такое замыкания в Swift, как они работают и, самое главное, показывает различные примеры замыканий с возрастающей сложностью.
В этой заметки автор обещает объяснить всё, что необходимо знать для эффективного использования замыканий в приложении.
📖 Замыкания - это мощная концепция, которая позволяет использовать множество различных шаблонов программирования.
Однако для многих начинающих программистов closures могут быть сложными в понимании и дальнейшем использовании.
Это особенно верно, когда замыкания используются в асинхронном контексте.
Например, когда они используются в качестве completion handlers или передаются в приложении, чтобы их можно было вызвать позже.
В своём посте автор объясняет, что такое замыкания в Swift, как они работают и, самое главное, показывает различные примеры замыканий с возрастающей сложностью.
В этой заметки автор обещает объяснить всё, что необходимо знать для эффективного использования замыканий в приложении.
👍11
Параметры In-Out
В Swift аргументы функции – константы. В результате этого невозможно изменить значение параметра, которое передается в функцию. Параметр in-out позволяет функции переназначить значение переменной. Для этого параметр помечается inout, используется & при передаче параметра в вызов функции.
В Swift аргументы функции – константы. В результате этого невозможно изменить значение параметра, которое передается в функцию. Параметр in-out позволяет функции переназначить значение переменной. Для этого параметр помечается inout, используется & при передаче параметра в вызов функции.
🔥14👍1
Проверяем, сколько раз символ встречается в строке
Если вам надо выяснить, сколько раз в строке встречается символ, то смотрите видео ниже. В нем рассматривают два способа решения такой задачи.
👀Смотреть видео
Если вам надо выяснить, сколько раз в строке встречается символ, то смотрите видео ниже. В нем рассматривают два способа решения такой задачи.
👀Смотреть видео
👍9