Mercurial > public > simoleon
view Simoleon/Favourites.swift @ 22:3596690dda73
Add Config files and implementing Settings
author | Dennis Concepción Martín <dennisconcepcionmartin@gmail.com> |
---|---|
date | Tue, 20 Jul 2021 09:02:51 +0100 |
parents | c3dda63f50ed |
children | bda6a55d027a |
line wrap: on
line source
// // Favourites.swift // Simoleon // // Created by Dennis Concepción Martín on 19/07/2021. // import SwiftUI struct Favourites: View { @Environment(\.managedObjectContext) private var viewContext @FetchRequest( sortDescriptors: [NSSortDescriptor(keyPath: \Favourite.currencyPair, ascending: true)], animation: .default) private var favourite: FetchedResults<Favourite> var body: some View { List { ForEach(favourite) { favourite in CurrencyRow(currencyPair: favourite.currencyPair) } .onDelete(perform: removeFromFavourites) } .navigationTitle("Favourites") .toolbar { #if os(iOS) EditButton() #endif } .if(UIDevice.current.userInterfaceIdiom == .phone) { content in NavigationView { content } } } private func removeFromFavourites(offsets: IndexSet) { withAnimation { offsets.map { favourite[$0] }.forEach(viewContext.delete) do { try viewContext.save() } catch { let nsError = error as NSError fatalError("Unresolved error \(nsError), \(nsError.userInfo)") } } } } struct Favourites_Previews: PreviewProvider { static var previews: some View { Favourites() .environment(\.managedObjectContext, PersistenceController.preview.container.viewContext) } }