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

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

По всем вопросам обращаться к @itereznikov
Download Telegram
Коротенькая, но очень полезная статья с парой фишек для дебага в Xcode 🔨
Тут есть и совсем простые вещи вроде po команды в логе (я удивлён, но очень многие об этом почему-то не знают) и symbolic breakpoint, до более интересных и менее популярных вещей из разряда команды v для того же lldb и изменений при дебаге без необходимости пересобирать проект 🔥
В общем переходите по ссылке и смотрите. Всего несколько минут, зато что-то полезное можно узнать! 👍
https://medium.com/@dbelannab/xcode-debugging-tips-and-tricks-c2f4db49553e
👍5🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Кастомный TabBar

Статья состоит из трёх частей, как реализовать вот такой таббар.

https://betterprogramming.pub/how-to-create-a-nice-uitabbar-for-your-ios-app-using-swift-5-pt-1-f9d2d5450909
🎉42
Про базовые знаниям в Swift, сложно не вспомнить про классы и структуры

Об этом часто спрашивают на собеседованиях и обычно не ограничиваются одним-двумя вопросами.

Давайте разбираться!
Structs vs Classes

https://medium.com/hash-coding/swift-structures-and-classes-part-1-582e26bdf8dd
7
Статические свойства и методы

Кроме свойств, которые относятся к отдельным экземплярам класса, мы можем определять свойства, которые относятся ко всему типу - свойства типа. Для объявления статических методов и свойств типа используется ключевое слово static. Доступ к ним осуществляется из самого типа, а не из экземпляра.
👍9
Работа с навигацией, координатором, передачей данных. Крутая статья с примерами кода

https://www.hackingwithswift.com/articles/175/advanced-coordinator-pattern-tutorial-ios
👍5
Большая и оочень хорошая статья о работе с кастомными шрифтами в iOS

И примеры кода, и результата, и объяснение, как это всё работает, скрины с debug view hierarchy и всё всё всё, что нужно знать 🔥

Статья в первую очередь про поддержку dynamic type - это когда в настройках размер шрифта на уровне всей системы меняют. Но полезно будет всем, кто использует кастомные шрифты

https://medium.com/@hdmdhr/use-dynamic-type-with-custom-fonts-in-ios-480d9c902689
🤯31
Понимаем архитектуру VIPER

VIPER — это архитектура. Она снижает сложность, особенно в больших проектах. Целью архитектуры является разделение операционного кода внутри проекта, модулеризация и регуляризация. В основном она использует протоколы, поскольку межуровневая связь в шаблоне VIPER обеспечивается протоколами.

https://apptractor.ru/develop/ponimaem-arhitekturu-viper.html
🔥72
URLSession - вещь, которую все используют в своих приложениях, но мало кто глубоко копался, что там можно настроить и для чего.

URLSessionConfiguration
https://www.avanderlee.com/swift/urlsessionconfiguration/
🔥11
Управление памятью — важная тема в Swift и iOS-разработке.

Cуществует множество руководств, объясняющих, когда следует использовать weak self в замыканиях.

Статья говорит о том, когда утечка памяти может произойти, и как её избежать.

https://benoitpasquier.com/weak-self-story-memory-management-closure-swift/
🔥3👍1
Стек

В любом приложении или сайте есть функция «Отмена». А вы не задумывались как она работает?

Смысл такой: в программе сохраняются предшествующие состояния вашей работы (количество сохраняемых состояний ограничено), причем, они располагаются в памяти в таком порядке: последний сохраненный элемент идет первым.

Здесь и нужно использоваться стек т.к. одним массивом задачу решить не получится.

Лучшая аналогия — высокая стопка книг. Если вам нужна какая-то книга, лежащая около центра стопки, вам сначала придется снять все книги, лежащие выше. Именно так работает принцип LIFO.
🔥9
Alamofire

Нативный инструмент для обработки данных с сервера - URLSession, но работать с ним немного сложнее, чем хотелось бы. Для облегчения этого процесса существует framework Alamofire — это обвертка над URLSession, которая сильно упрощает жизнь при работе с сервером

Cтатья которая рассказывает как пользоваться данной либой.
https://habr.com/ru/post/330760/
👍9
Request

1️⃣Запрос — это объект, содержащий всю необходимую информацию для того, чтобы сервер точно понял, какую информацию вы хотите запросить. Структура запроса может содержать следующие пункты:

2️⃣Header (заголовки запроса) — техническая информация, не имеющая отношения к сути запроса. К хедерам часто относят информацию о модели айфона, версии iOS, текущей версии приложения и т.д.

3️⃣Метод запроса, отражающий то, какие действия вы собираетесь произвести. GET ( получить данные), POST (создание данных), PUT (обновление данных), DELETE (удаление данных) и др.

4️⃣URL (адрес запроса) — адрес, по которому вы собираетесь отправить запрос. Например, чтобы получить список ваших подписчиков VK, нужно отправить запрос по адресу:

Response

Ответ от сервера приходит в формате JSON, который представляет собой совокупность пар ключ-значение.
{
'id':210700286,
'first_name':'Николай',
'last_name':'Иванов'
}
🔥10👍21
Corner Radius, Shadows, and Borders in Swift.

Статья, в которой практически показывается применения данных свойств в языке Swift.

https://www.advancedswift.com/corners-borders-shadows/
👍61
🤚🏻Всем привет! Канал EasySwift iOS - это не авторский блог, это про iOS разработку в целом.

💻Здесь мы публикуем только самые лучшие находки на пространстве Интернета, которые помогут вам в разработке.

📔Интересные статьи, лайфхаки, книги, ресурсы про iOS. Все это, в одном месте

📝А если ты креативный разработчик и пишешь свои статьи - присылай их нам, и мы с удовольствием выложим их у себя на канале и отметим автора

Присоединяйся в нашу дружную семью и будем развиваться вместе🧑🏻‍💻
14👍3🔥1😁1🤔1😱1
Async/await в Swift 5.5: асинхронность «здорового человека»

Что такое async?
Async означает «асинхронный». Этот термин можно рассматривать как атрибут метода, показывающий, что сам метод выполняет асинхронную работу.

Что такое await?
Await — это ключевое слово, которое будет использоваться для вызова асинхронных методов. Мы можем рассматривать их как лучших друзей в Swift, ведь они никогда не обходятся друг без друга. Например, можно сказать:
«Await ожидает обратного вызова от своего приятеля async».

Как и для чего это использовать - читаем в статье. С вас лайк, за крутую находку.
12👍4🔥1
Материал про App Store Connect API 👍

Апишка достаточно большая и можно придумать много идей, что же с ней сделать
Автор уже набросал несколько идей:
- Использовать API для приложения, где можно смотреть и отвечать на отзывы в сторе 🔥
- Управлять TestFlight юзерами 👨‍👩‍👦‍👦
- Создать тулзы для быстрой загрузки сейлз репортов 📊
- Юзать для взаимодействия с Xcode Cloud 🤖

Читай в статье
4🔥1
Делегирование в Swift, паттерны Delegate и Data Source

Делегирование в Swift используется повсеместно в iOS для передачи данных между классами. Этот инструмент необходим в наборе каждого разработчика, и сегодня мы выясним, как именно работает делегирование. Часто большинство разработчиков просто используют готовый код, не понимая особенностей его реализации.

Подробно прочитать про данный паттерн можно в этой статье
🔥42👍2