Question about UserDefaults saving.

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.

Question about UserDefaults saving.
 
 
Q