🧑💻Class && Struct (классы и структуры)
💻Отличный материал, который раскрывает основные отличия структуры от классов, а так же их применение!
По умолчанию Apple рекомендует использовать структуры. Структуры также полезны в следующих сценариях:
- Используйте структуры для простых типов данных. Воспринимайте их как простые базы данных, которые вы можете использовать в своем коде. Поскольку они четко определены и часто не нуждаются в сложных отношениях между объектами.
- В многопоточной среде, например, с подключением к базе данных в другом потоке, структуры более безопасны. и могут быть безопасно скопированы из одного потока в другой. Классы не имеют присущей им безопасности, если только они не намеренно сделаны поточно-ориентированными.
- Когда свойства структуры в основном являются значимыми типами, например String, имеет смысл обернуть их в структуру вместо класса.
Использование структур имеет дополнительное преимущество - вам проще анализировать изменения данных в вашем коде. Когда тип является структурой, вы можете быть уверены, что никакая другая часть вашего кода не сможет удерживать ссылку на объект. То есть структура не может быть изменена какой-либо другой частью вашего кода.
А дальше в статье https://habr.com/ru/post/592341/
💻Отличный материал, который раскрывает основные отличия структуры от классов, а так же их применение!
По умолчанию Apple рекомендует использовать структуры. Структуры также полезны в следующих сценариях:
- Используйте структуры для простых типов данных. Воспринимайте их как простые базы данных, которые вы можете использовать в своем коде. Поскольку они четко определены и часто не нуждаются в сложных отношениях между объектами.
- В многопоточной среде, например, с подключением к базе данных в другом потоке, структуры более безопасны. и могут быть безопасно скопированы из одного потока в другой. Классы не имеют присущей им безопасности, если только они не намеренно сделаны поточно-ориентированными.
- Когда свойства структуры в основном являются значимыми типами, например String, имеет смысл обернуть их в структуру вместо класса.
Использование структур имеет дополнительное преимущество - вам проще анализировать изменения данных в вашем коде. Когда тип является структурой, вы можете быть уверены, что никакая другая часть вашего кода не сможет удерживать ссылку на объект. То есть структура не может быть изменена какой-либо другой частью вашего кода.
А дальше в статье https://habr.com/ru/post/592341/
Хабр
Swift. Class && Struct (классы и структуры) ч.1
Предисловие Данный материал, рассчитан на новичков в разработке, сконцентрированных на языке Swift, где я простым языком постараюсь максимально доходчиво донести базовые вещи, которые иногда бывает...
🔥7😱2
Верстка кодом🗿
Отличный материал, хорошая подача. Для тех кто хочет научиться верстать UI элементы кодом. Советую к прочтению. 🏰
https://www.hackingwithswift.com/read/8/2/building-a-uikit-user-interface-programmatically
Отличный материал, хорошая подача. Для тех кто хочет научиться верстать UI элементы кодом. Советую к прочтению. 🏰
https://www.hackingwithswift.com/read/8/2/building-a-uikit-user-interface-programmatically
👍10
Пример создания приложения Todo list для iOS с использованием VIPER
Крутая статья про использование архитектуры VIPER. Советую к прочтению.
🤔Существует множество архитектур на выбор: MVC, MVVM, MVP, View State, VIPER и многие другие.
Архитектура, которую мы выберем, будет определять, как будет построено программное обеспечение и как оно будет масштабироваться по мере роста.
https://www.alfianlosari.com/posts/building-todo-list-ios-app-with-viper-architecture/
Крутая статья про использование архитектуры VIPER. Советую к прочтению.
🤔Существует множество архитектур на выбор: MVC, MVVM, MVP, View State, VIPER и многие другие.
Архитектура, которую мы выберем, будет определять, как будет построено программное обеспечение и как оно будет масштабироваться по мере роста.
https://www.alfianlosari.com/posts/building-todo-list-ios-app-with-viper-architecture/
👍11
Как сделать код производительным?
В документации на гите есть много крутых статей.
Я убежден, что если прочитаешь все — станешь гением и единственным человеком в мире, кто смог это сделать.
Поделюсь одной крутой страницей, где прячутся крутые советы по оптимизации своего кода
https://github.com/apple/swift/blob/main/docs/OptimizationTips.rst#advice-use-final-when-you-know-the-declaration-does-not-need-to-be-overridden
В документации на гите есть много крутых статей.
Я убежден, что если прочитаешь все — станешь гением и единственным человеком в мире, кто смог это сделать.
Поделюсь одной крутой страницей, где прячутся крутые советы по оптимизации своего кода
https://github.com/apple/swift/blob/main/docs/OptimizationTips.rst#advice-use-final-when-you-know-the-declaration-does-not-need-to-be-overridden
GitHub
swift/docs/OptimizationTips.rst at main · swiftlang/swift
The Swift Programming Language. Contribute to swiftlang/swift development by creating an account on GitHub.
👍10
Добавление элементов в массив
Добавить элементы в массив можно двумя способами. Первый способ – использовать метод .append(). Для этого пишем его после имени массива, а в скобках указываем значение, которое хотим добавить в конец. Второй способ – использовать оператор присваивания со сложением (+=).
Кстати, с помощью оператора += можно присвоить сразу несколько элементов.
Добавить элементы в массив можно двумя способами. Первый способ – использовать метод .append(). Для этого пишем его после имени массива, а в скобках указываем значение, которое хотим добавить в конец. Второй способ – использовать оператор присваивания со сложением (+=).
Кстати, с помощью оператора += можно присвоить сразу несколько элементов.
👍17
Полезный материал снова о базовых вещах с памятью
Программист — это впервую очередь не заложник своей платформы. И изучая иос не нужно забывать, что этот мир яблок не отдельный остров, который далек от компьютерных наук. А лишь абстракция над общим устройством компьютеров
https://youtu.be/TajLTcjBgIg
Программист — это впервую очередь не заложник своей платформы. И изучая иос не нужно забывать, что этот мир яблок не отдельный остров, который далек от компьютерных наук. А лишь абстракция над общим устройством компьютеров
https://youtu.be/TajLTcjBgIg
YouTube
Лекция 3. Работа с памятью, выполнение программ (Программирование на C++, часть 1)
https://compscicenter.ru/
Лекция №3 в курсе "Программирование на C++, часть " (осень 2018).
Преподаватель курса: Валерий Михайлович Лесин
Лекция №3 в курсе "Программирование на C++, часть " (осень 2018).
Преподаватель курса: Валерий Михайлович Лесин
👍3
Гибкая навигация в iOS
Помните времена, когда дизайнеры рисовали незамысловатые интерфейсы, а разработчики просто описывали переходы от одного экрана к другому? Вот и я не помню. Современное iOS-приложение – это тысячи строк кода, где добрая четверть – всего лишь описание навигации. Закономерно, что для упрощения жизни появляются различные фреймворки для навигации.
https://habr.com/ru/company/hh/blog/669124/
Помните времена, когда дизайнеры рисовали незамысловатые интерфейсы, а разработчики просто описывали переходы от одного экрана к другому? Вот и я не помню. Современное iOS-приложение – это тысячи строк кода, где добрая четверть – всего лишь описание навигации. Закономерно, что для упрощения жизни появляются различные фреймворки для навигации.
https://habr.com/ru/company/hh/blog/669124/
Хабр
Гибкая навигация в iOS
Помните времена, когда дизайнеры рисовали незамысловатые интерфейсы, а разработчики просто описывали переходы от одного экрана к другому? Вот и я не помню. Современное iOS-приложение – это тысячи...
👍1
SnapKit 📌
Учитесь верстать кодом? Используется якоря? Ходите сделать как можно меньше кода в вашем приложении? - SnapKit, отличная статья, которая вкатывает знания по верстка SnapKit -ом.
Всем удачного кодинга
https://www.raywenderlich.com/3225401-snapkit-for-ios-constraints-in-a-snap
Учитесь верстать кодом? Используется якоря? Ходите сделать как можно меньше кода в вашем приложении? - SnapKit, отличная статья, которая вкатывает знания по верстка SnapKit -ом.
Всем удачного кодинга
https://www.raywenderlich.com/3225401-snapkit-for-ios-constraints-in-a-snap
kodeco.com
SnapKit for iOS: Constraints in a Snap
In this tutorial you’ll learn about SnapKit, a lightweight DSL (domain-specific language) to make Auto Layout and constraints a breeze to work with.
❤7👍3