I'm making app in SwiftUI. I have following model:
struct Transaction {
var title: String
var category: TransactionCategory
var value: Double
var date: Date
let id = UUID()
}
class Account: ObservableObject {
var name: String = ""
var currency: String = ""
let id = UUID()
@Published var balance: Double = 0
@Published var trancactions: [Transaction] = []
}
and this works I expected. I can add new transaction and list all transactions in SwiftUI List view.
Now I'd like to add AccountManager
to keep many account:
class AccountManager: ObservableObject {
@Published var accounts: [Account] = []
}
but when I try for example add and display all transaction from choosen account, it doesn't refresh.
@ObservedObject private var manager = AccountManager()
...
List(manager.accounts[0].trancactions, id: \.id) { t in
TransactionRow(transaction: t)
}
Ultimately, I want to be able to display all transactions from all accounts or filter them. Is my idea fixable or maybe I need to try a different approach?