В первой части этой статьи мы рассмотрели основы работы с
Во второй части статьи я хочу показать, что роль автоматически генерируемых
Создаваемое в этой части статьи приложение с именем
Однако, просто зарегистрировавшись на сайте компании FlightAware, вы можете бесплатно получить временной срез любой интересующей вас информации о рейсах
Код находится на Github.
Core Data
в SwiftUI
на примере шаблонного приложения, предложенное Apple. Это было тривиальное приложение, в котором всего лишь один объект Core Data
с одним единственным атрибутом, и тем не менее было показано, что давая объектам Core Data
дополнительную функциональность с помощью „синтаксического сахара“ в расширении extension
их классов class
, автоматически генерируемых Xcode
, можно добиться комфортной работы с Core Data
в SwiftUI
. Эти классы являются миниатюрными ViewModels
для наших SwiftUI Views
, так как они реализуют протоколы ObservableObject
и Identifiable
. И Apple
научила их прекрасно «играть» на поле реактивности SwiftUI. Во второй части статьи я хочу показать, что роль автоматически генерируемых
Xcode
классов class
для объектов Core Data
существенно возрастает при работе с реальными взаимосвязанными объектами — рейсами Flights
, аэропортами Airports
и авиакомпаниями AirLines
, которые мы получаем в интернете на сайте компании FlightAware и размещаем в локальной базе данных Core Data
. Создаваемое в этой части статьи приложение с именем
CoreDataSwiftUIFlights
является сильно упрощенной модификацией реального приложения Enroute из стэнфордских курсов CS193P 2020, которое оперативно подкачивает данные с сервера FlightAware и требует от вас платной подписки на сервис FlightAware . Однако, просто зарегистрировавшись на сайте компании FlightAware, вы можете бесплатно получить временной срез любой интересующей вас информации о рейсах
Flights
, аэропортах Airports
и авиакомпаниях Airlines
в JSON
формате. Эти данные размещаются в Core Data
с учетом взаимосвязей этих объектов, и вы можете не просто видеть всю информацию о рейсах, но и делать различные запросы к ней с помощью фильтров и сортировать ее нужным вам способом.Код находится на Github.