Отношения SwiftData и веб-источник SQLIOS

Программируем под IOS
Ответить
Anonymous
 Отношения SwiftData и веб-источник SQL

Сообщение Anonymous »


Я довольно много читал о SwiftData и его предшественнике (Core Data), но есть один аспект платформы, на который я не могу найти ответа.

Большим преимуществом SwiftData является тот факт, что это граф объектов, то есть он автоматически управляет и сохраняет изменения в наборе данных по мере их использования в приложении iOS. Я понимаю, что SwiftData — это граф объектов и что он сам по себе сильно отличается от базы данных.

При этом одним из вариантов, который можно использовать для обеспечения устойчивости данных в рамках платформы SwiftData, является использование SQLite. Хотя программисту не нужно беспокоиться об UUID, внешних ключах и т. д. при использовании SwiftData, база данных в фоновом режиме по-прежнему создает и поддерживает эти связи с ключами и таблицами соединения.

У меня есть очень сложный набор данных в таблицах SQL в Интернете:
[*]Набор данных, который я сейчас использую, состоит примерно из 37 таблиц. [*]Некоторые таблицы имеют только одну связь, некоторые — несколько (5–10 типов дочерних записей, причем каждый тип дочерних записей может иметь несколько собственных записей). [*]Подавляющее большинство моих связей относятся к типу «один ко многим», но у меня есть несколько связей «многие ко многим», которые управляются с помощью таблиц соединений. [*]Некоторые записи имеют несколько уровней дочерних записей (т. е. производитель производит несколько моделей чего-либо, и каждая из моделей имеет один или несколько вариантов, и каждый из вариантов имеет один или несколько активов).
Мне хотелось бы, чтобы мое приложение могло синхронизировать некоторые из этих данных, чтобы работать в автономном режиме, что приведет меня к загрузке больших объемов данных из источника SQL, чтобы они были в режиме ожидания и готовы к использованию. Все связи уже созданы в онлайн-источнике и управляются с помощью внешних ключей, и их необходимо поддерживать после загрузки.

Вопросы:
[*]Как лучше всего загрузить данные из источника SQL, сохранить их на устройстве и воссоздать связи, чтобы я мог воспользоваться преимуществами платформы SwiftData? [*]Когда я загружаю записи, нужно ли мне убедиться, что мой сервер отправляет мне объект именно в том формате, который ожидается объектом SwiftData, чтобы иметь возможность заполнить все параметры? [*]На примере производителя со многими моделями и каждой модели со многими вариантами мне пришлось бы загрузить все дочерние модели и все дочерние варианты моделей, связанных с загружаемым производителем, чтобы иметь возможность чтобы иметь правильные данные при их обратной синхронизации с сервером?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»