Я храню настройки приложения в iCloud. Ранее я использовал @Query в любом представлении, который нуждался в доступе к настройкам, но это в итоге стало большим дублированным кодом. Поэтому я переместил все в основной файл приложения и теперь передаю объект «Настройки» в каждое представление через переменную среды. Есть также вычисленное свойство, которое получает соответствующий объект «Настройки» из массива: < /p>
@Query var settingsArray: [Settings]
var settings: Settings {
< /code>
Объект настроек затем передается в представления через переменную среды: < /p>
var body: some Scene {
WindowGroup {
ContentView()
.environment(settings)
< /code>
Проблема заключается в том, что если представление вносит изменения в объект «Настройки» (например, «Bindable (настроек)»), изменения не сохраняются в iCloud. Есть ли способ распространять эти изменения в iCloud или я должен просто вернуться, чтобы иметь отдельные запросы, где бы ни были изменены настройки?
Подробнее здесь: https://stackoverflow.com/questions/794 ... t-variable