Я использую решение Simone для хранения массивов строк и представления их в списке:
Как хранить вложенные массивы в @AppStorage для SwiftUI
Я попытался добавить функцию удаления строки в список:
.onDelete(perform: removeRows)
func removeRows(at offsets: IndexSet) {
getStrings(data: albums).remove(atOffsets: offsets)
}
Я понимаю, что это не работает, потому что вызов функции возвращает неизменяемое значение, и я пытаюсь его видоизменить. Как это решить?
Просто добавьте следующую функцию удаления. Сначала вы получаете всю строку, затем удаляете по смещению, а затем сохраняете ее обратно.
func removeRows(at offsets: IndexSet) {
var tmpAlbums = getStrings(data: albums)
tmpAlbums.remove(atOffsets: offsets)
albums = Storage.archiveStringArray(object: tmpAlbums)
}
Не могли бы вы показать весь код контекста?