- Properties и Initializers: Передача данных через свойства и инициализаторы при создании объекта.
- Segues (для Storyboards): Передача данных между View Controllers при навигации с использованием
prepare(for:sender:).
- Delegation: Реализация протокола, позволяющего одному объекту (делегату) получать уведомления и данные от другого объекта.
- NotificationCenter: Механизм
Publish-Subscribe для широковещательной рассылки уведомлений с произвольными данными.
- Key-Value Observing (KVO): Механизм наблюдения за изменениями свойств объектов.
- Closures/Callbacks: Передача данных через замыкания, выполняющиеся асинхронно или после наступления определенного события.
- Singletons: Общий экземпляр класса, доступный из любого места приложения, для хранения и обмена данными.
- User Defaults: Хранение небольшого объема данных пользователя в постоянном хранилище.
- Core Data/Realm/SQLite: Хранение и управление структурированными данными на устройстве.
- File Storage: Сохранение данных в файлы на диске (например, документы, изображения).
- CloudKit: Облачный сервис для хранения и синхронизации данных между устройствами iCloud.
- Networking (APIs): Передача данных между приложением и сервером по сети.
- Environment Objects (SwiftUI): Предоставление объектов, совместно используемых в иерархии представлений.
- State Objects (SwiftUI): Управление локальным состоянием представления.
- Observed Objects (SwiftUI): Управление объектами, на которые подписано представление.
Пример использования Segues:
swift
Пример использования Delegation:
swift
Пример использования NotificationCenter:
swift