Почему значки не могут измениться сразу? [закрыто]IOS

Программируем под IOS
Ответить
Anonymous
 Почему значки не могут измениться сразу? [закрыто]

Сообщение Anonymous »


Это три представления в моем проекте списка дел. Я хочу сохранить данные, чтобы список дел пользователей оставался там после запуска приложения. Но всякий раз, когда я нажимаю на значок «проверить.круг» или «круг», они не могут переключиться немедленно. Они переключятся после того, как я снова запущу приложение. Я не знаю, как немедленно переключить значок. Заранее спасибо!!!

@EnvironmentObject var listViewModel: ListViewModel @State var newText: String = "" @State var detents: PresentationDetent = .medium @State var showSheet: Bool = false static var item1 = ItemModel (title: «First», isCompleted: false) var body: some View { НавигацияВью { Список { ForEach(listViewModel.items) {элемент в ListRowView (элемент: элемент) .onTapGesture { listViewModel.updateItem(элемент: элемент). -> * } } .onDelete (выполнить: listViewModel.delete) .onMove (выполнить: listViewModel.moveItem) } .navigationTitle("Список дел") .navigationBarItems( ведущий: EditButton(), завершающий: Кнопка( действие: { showSheet.toggle() }, этикетка: { Текст("Добавить") }) .лист( isPresented: $showSheet, содержание: { Второй Экран() .presentationDetents([.height(500)]) } )) } } функция saveItems() { если let encodedData = попробовать? JSONEncoder().encode(элементы) { UserDefaults.standard.set(encodedData, forKey: itemsKey) } пусть идентификатор: строка пусть заголовок: Строка вар isCompleted: Bool init(id: String = UUID().uuidString, title: String, isCompleted: Bool) { self.id = идентификатор self.title = заголовок self.isCompleted = isCompleted } func updateCompletion() -> ItemModel {. -> * return ItemModel (id: id, title: title, isCompleted: !isCompleted) } После того, как я нажму на значок, я хочу, чтобы значок сразу же переключился.
Ответить

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

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

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

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

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