Один из распространенных вопросов при разработке приложений SwiftUI — как работать с Core Data, чтобы постоянно сохранять данные во встроенной базе данных. Несмотря на постоянные усилия Apple по упрощению API-интерфейсов Core Data, новичкам часто сложно использовать эту платформу. Тем не менее, есть хорошие новости на горизонте. Apple выпустит новую платформу под названием SwiftData в iOS 17, чтобы заменить Core Data. SwiftData спроектирован так, чтобы его было намного проще использовать для моделирования и управления данными, предлагая более удобный подход.

Что такое SwiftData

Прежде всего, важно отметить, что платформу SwiftData не следует путать с базой данных. SwiftData, построенный на базе Core Data, на самом деле представляет собой фреймворк, призванный помочь разработчикам управлять данными в постоянном хранилище и взаимодействовать с ними. Хотя постоянным хранилищем по умолчанию для iOS обычно является база данных SQLite, стоит отметить, что постоянные хранилища могут принимать и другие формы. Например, Core Data также можно использовать для управления данными в локальном файле, таком как файл XML.

Независимо от того, используете ли вы Core Data или платформу SwiftData, оба инструмента служат для защиты разработчиков от сложностей базового постоянного хранилища. Рассмотрим, например, базу данных SQLite. Со SwiftData не нужно беспокоиться о подключении к базе данных или понимании SQL для извлечения записей данных. Вместо этого разработчики могут сосредоточиться на работе с API и макросами Swift, такими как @Query и @Model, для эффективного управления данными в своих приложениях.

Фреймворк SwiftData был недавно представлен в iOS 17, чтобы заменить предыдущий фреймворк под названием Core Data. Core Data долгое время были API-интерфейсами управления данными для разработки iOS, начиная с эпохи Objective-C. Несмотря на то, что разработчики могут интегрировать фреймворк в проекты Swift, Core Data не является родным решением как для Swift, так и для SwiftUI.

В iOS 17 Apple, наконец, представляет собственную платформу SwiftData для Swift для управления постоянными данными и моделирования данных. Он построен на основе Core Data, но API-интерфейсы полностью переработаны, чтобы максимально использовать возможности Swift.

Использование кода для создания модели данных

Если вы уже использовали Core Data, вы, возможно, помните, что вам нужно создать модель данных…