Exercise 1: A JournalEntry @Model and a @Query-Backed List — Possible Solution ===================================================================================== @Model final class JournalEntry { var text: String var date: Date init(text: String, date: Date = .now) { self.text = text self.date = date } } struct JournalListView: View { @Query private var entries: [JournalEntry] var body: some View { List(entries) { entry in VStack(alignment: .leading) { Text(entry.text) Text(entry.date, style: .date) .font(.caption) .foregroundStyle(.secondary) } } } } HOW IT WORKS: JournalEntry follows the chapter's own Task pattern exactly - a real class (required by @Model, not a struct), with two stored properties and a real initializer providing a sensible default for date (Date.now) so a caller only has to supply text explicitly in the common case. JournalListView's own @Query private var entries: [JournalEntry] automatically fetches every persisted JournalEntry from the shared ModelContainer set up at the app's own root (following the chapter's own .modelContainer(for:) pattern, which would need JournalEntry.self added alongside Task.self), with no manual fetch request written - List(entries) then displays them directly, the same way the chapter's own TaskListView displayed tasks. ANSWER: A JournalEntry @Model class with text and date properties, and a JournalListView using @Query private var entries: [JournalEntry] to automatically fetch and display them in a List, correctly follows the chapter's own established @Model/@Query pattern applied to a new, different persisted type. WHY THIS WORKS AS AN ANSWER ------------------------------ This correctly defines a new @Model class with a real initializer and a real @Query-backed view, exactly mirroring the chapter's own Task/ TaskListView example structure.