Hello, I am trying to build a flashCard app. I am a beginner.
I have 2 structs. One for my cards and one for my deck. and one class that includes both.
struct KnowledgeItem: Identifiable, Codable {
var id = UUID()
let name: String
let knowledge: String
}
struct Deck: Identifiable, Codable {
var id = UUID()
let Deckname: String
let Decksubject: String
}
class Decks: ObservableObject {
@Published var decks = [Deck](){
didSet {
if let encoded1 = try? JSONEncoder().encode(decks) {
UserDefaults.standard.set(encoded1, forKey: "Decks")
}
}
@Published var itemsInDeck = [KnowledgeItem]()
init() {
if let savedDecks = UserDefaults.standard.data(forKey: "Decks") {
if let decodedItemss = try? JSONDecoder().decode([Deck].self, from: savedDecks) {
decks = decodedItemss
return
}
}
decks = []
}
}
I can save my decks. But, I don't know how to save its cards.