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

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

По всем вопросам обращаться к @itereznikov
Download Telegram
Свойство .isEmpty

Свойство .isEmpty возвращает true, если в словаре нет пар ключ-значение, false – если словарь содержит пары ключ-значение.
👍11
Верстка кодом🗿

Отличный материал, хорошая подача. Для тех кто хочет научиться верстать UI элементы кодом. Советую к прочтению. 🏰

https://www.hackingwithswift.com/read/8/2/building-a-uikit-user-interface-programmatically
👍10
Метод init()

Структуры могут иметь метод init() для инициализации значений свойств экземпляра. В отличие от других методов, метод init() не требует ключевого слова func. В его теле используется ключевое слово self для ссылки на фактический экземпляр структуры.
👍9
Мутирующие методы

Методы структуры, объявленные с ключевым словом mutating, позволяют методу влиять на собственные свойства экземпляра.
🔥14
Пример создания приложения Todo list для iOS с использованием VIPER

Крутая статья про использование
архитектуры VIPER. Советую к прочтению.

🤔Существует множество архитектур на выбор: MVC, MVVM, MVP, View State, VIPER и многие другие.
Архитектура, которую мы выберем, будет определять, как будет построено программное обеспечение и как оно будет масштабироваться по мере роста.

https://www.alfianlosari.com/posts/building-todo-list-ios-app-with-viper-architecture/
👍11
Переопределение

Подкласс может предоставить собственную реализацию свойства или метода, унаследованного от суперкласса. Это известно как переопределение.
👍14
Как сделать код производительным?

В документации на гите есть много крутых статей.
Я убежден, что если прочитаешь все — станешь гением и единственным человеком в мире, кто смог это сделать.

Поделюсь одной крутой страницей, где прячутся крутые советы по оптимизации своего кода

https://github.com/apple/swift/blob/main/docs/OptimizationTips.rst#advice-use-final-when-you-know-the-declaration-does-not-need-to-be-overridden
👍10
Добавление элементов в массив

Добавить элементы в массив можно двумя способами. Первый способ – использовать метод .append(). Для этого пишем его после имени массива, а в скобках указываем значение, которое хотим добавить в конец. Второй способ – использовать оператор присваивания со сложением (+=).
Кстати, с помощью оператора += можно присвоить сразу несколько элементов.
👍17
Метод наборов .intersection()

Sets (наборы) представляют собой неупорядоченные коллекции уникальных элементов.
Вы можете создать новый набор, который будет состоять из общих элементов двух входных наборов. Для этого используйте метод .intersection().
🔥9👍2
Полезный материал снова о базовых вещах с памятью

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

https://youtu.be/TajLTcjBgIg
👍3
Метод наборов .union()

Sets (наборы) представляют собой неупорядоченные коллекции уникальных элементов. Вы можете объединить два набора в один новый набор с помощью метода .union().
👍8🔥2
Метод наборов .insert()

Наборы (Sets) представляют собой неупорядоченные коллекции уникальных элементов. Если у вас есть набор и вам необходимо добавить в него новый элемент, используйте для этого метод .insert().
👍10
Гибкая навигация в iOS

Помните времена, когда дизайнеры рисовали незамысловатые интерфейсы, а разработчики просто описывали переходы от одного экрана к другому? Вот и я не помню. Современное iOS-приложение – это тысячи строк кода, где добрая четверть – всего лишь описание навигации. Закономерно, что для упрощения жизни появляются различные фреймворки для навигации.  

https://habr.com/ru/company/hh/blog/669124/
👍1
Метод наборов .isEmpty()

Если вы хотите узнать, содержит ли набор значения, или он вовсе пустой, можете воспользоваться логическим методом .isEmpty(). Этот метод возвратит true – если набор пустой, и false – если набор имеет хотя бы один элемент.
👍8
Метод наборов .isEmpty()

Если вы хотите узнать, содержит ли набор значения, или он вовсе пустой, можете воспользоваться логическим методом .isEmpty(). Этот метод возвратит true – если набор пустой, и false – если набор имеет хотя бы один элемент.
👍4
SnapKit 📌

Учитесь верстать кодом? Используется якоря? Ходите сделать как можно меньше кода в вашем приложении? - SnapKit, отличная статья, которая вкатывает знания по верстка SnapKit -ом.

Всем удачного кодинга

https://www.raywenderlich.com/3225401-snapkit-for-ios-constraints-in-a-snap
7👍3
Метод наборов .sorted()

Sets (они же наборы) представляют собой неупорядоченные коллекции уникальных элементов. Но с помощью метода .sorted() вы можете отсортировать набор.
👍10
Метод наборов .removeAll()

Наборы (Set) представляют собой неупорядоченные коллекции уникальных элементов.
Если у вас есть набор и вы хотите удалить из него все элементы, то воспользуйтесь методом .removeAll().
👍8
Многопоточность: программа и процесс

Разница между программой и процессом тонкая, но мы попробуем ее нащупать.

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

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

На жестком диске хранятся программы, и этим программам не требуются ресурсы, в то время как процессам требуются такие ресурсы, как память, устройства ввода-вывода и процессор.

Программа и процесс - это два термина в операционных системах, таких как Linux и Windows. Основное различие между программой и процессом состоит в том, что программа - это набор инструкций, который позволяет ЦПУ выполнять определенную задачу, в то время как процесс - это исполняемая программа.
👍10🔥2
Метод наборов .contains()

Если вы хотите узнать, содержится ли какой-то определенный элемент в наборе, то воспользуйтесь методом .contains().
Этот метод позволяет проверить наличие в наборе элемента и возвращает значение типа Bool в зависимости от результата проверки.
👍8