[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-be3RhgoJpaxJ6PLRHc_GpyRaXMUQ6Fb959saagKa_yQ":3,"sanity-3u_sOH7BGewONS7vDvQQXUYCdRiSUXEawojTlNCw6Zw":219},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":194},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"4d0175f4-40a8-47eb-9bb3-a453b326aa7d","2026-07-03T07:40:00.000Z",{"_type":10,"current":11},"slug","the-good-the-bad-and-the-ai-apps",null,"The good, the bad, and the AI apps",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":62,"comments":158,"dateUrl":159,"excerpt":57,"image":160,"legacyBody":163,"product":12,"publishedAt":166,"slug":167,"sponsored":12,"tags":169,"title":193,"visible":158},"2023-05-25T09:39:19Z","wp-post-18708","07ZbrKPSUrjrV4wQ6fIylD","blogPost","2023-07-13T14:56:03Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":51,"avatar":52,"bio":57,"employee":58,"name":59,"slug":60},"2023-05-23T16:27:18Z","wp-author-cap-18606","dgl3SCUzppW3U2LvCoP6c0","blogAuthor","2023-06-20T15:05:12Z",{"_type":53,"asset":54},"image",{"_ref":55,"_type":56},"image-af4321bbe3d6b54cb06c4fb5359130bd5864586d-500x500-jpg","reference","","none","Ben Stone",{"current":61},"ben-stone",[63,74,78,86,98,109,139],{"_key":64,"_type":65,"children":66,"markDefs":72,"style":73},"06333c3708d4","block",[67],{"_key":68,"_type":69,"marks":70,"text":71},"06333c3708d40","span",[],"In the third lesson of the series, we’ll continue to incorporate the MVVM architecture and build a view model for our quiz app which mediates communication between the view and the model. Additionally, we’ll build a game model structure and add more questions and functionality for new questions to appear as the user advances through the quiz.",[],"normal",{"_key":75,"_type":76,"markDefs":12,"url":77},"9e3ec1c07886","embed","https:\u002F\u002Fwww.youtube.com\u002Fembed\u002Fk0MEIuOxssE?start=20",{"_key":79,"_type":65,"children":80,"markDefs":85,"style":73},"29d769a2c9f1",[81],{"_key":82,"_type":69,"marks":83,"text":84},"29d769a2c9f10",[],"Here are some Stack Overflow questions related to the work we did in today’s session:",[],{"_key":87,"_type":65,"children":88,"markDefs":94,"style":73},"ff5a3afd923a",[89],{"_key":90,"_type":69,"marks":91,"text":93},"ff5a3afd923a0",[92],"aeb02fbb825c","Does Swift have access modifiers?",[95],{"_key":92,"_type":96,"href":97,"reference":12},"link","https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F24003918\u002Fdoes-swift-have-access-modifiers",{"_key":99,"_type":65,"children":100,"markDefs":106,"style":73},"29a9a8112114",[101],{"_key":102,"_type":69,"marks":103,"text":105},"29a9a81121140",[104],"9e8970a189e3","SwiftUI and MVVM - Communication between model and view model",[107],{"_key":104,"_type":96,"href":108,"reference":12},"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F57826430\u002Fswiftui-and-mvvm-communication-between-model-and-view-model",{"_key":110,"_type":65,"children":111,"markDefs":134,"style":73},"2e43d6632a7b",[112,116,121,125,130],{"_key":113,"_type":69,"marks":114,"text":115},"2e43d6632a7b0",[],"If you want to ask any questions or provide feedback on the lesson, you are welcome to leave a comment on the ",{"_key":117,"_type":69,"marks":118,"text":120},"2e43d6632a7b1",[119],"60229762ab5f","YouTube recording",{"_key":122,"_type":69,"marks":123,"text":124},"2e43d6632a7b2",[]," of this lesson. If you’d like to watch a session live, follow the ",{"_key":126,"_type":69,"marks":127,"text":129},"2e43d6632a7b3",[128],"546d2ca46a50","Codecademy YouTube channel",{"_key":131,"_type":69,"marks":132,"text":133},"2e43d6632a7b4",[],".",[135,137],{"_key":119,"_type":96,"href":136,"reference":12},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=k0MEIuOxssE&t=84s",{"_key":128,"_type":96,"href":138,"reference":12},"https:\u002F\u002Fwww.youtube.com\u002Fc\u002Fcodecademy\u002Ffeatured",{"_key":140,"_type":65,"children":141,"markDefs":155,"style":73},"f920f0022804",[142,146,151],{"_key":143,"_type":69,"marks":144,"text":145},"f920f00228040",[],"Finally, if you want even more SwiftUI content, you can sign up for the ",{"_key":147,"_type":69,"marks":148,"text":150},"f920f00228041",[149],"3ad32924d22b","Build iOS Apps with SwiftUI",{"_key":152,"_type":69,"marks":153,"text":154},"f920f00228042",[]," Skill Path this series was based on. The Skill Path goes into much more detail about the Swift language and provides a deeper foundation that you can use to build sophisticated applications.",[156],{"_key":149,"_type":96,"href":157,"reference":12},"https:\u002F\u002Fwww.codecademy.com\u002Flearn\u002Fpaths\u002Fbuild-ios-apps-with-swiftui",true,"2021\u002F08\u002F28",{"_type":53,"asset":161},{"_ref":162,"_type":56},"image-ca5d654524ac89cf64a048745c2fdec67b0791e1-2400x1240-png",{"code":164,"language":165},"\u003C!-- wp:paragraph -->\n\u003Cp>In the third lesson of the series, we’ll continue to incorporate the MVVM architecture and build a view model for our quiz app which mediates communication between the view and the model. Additionally, we’ll build a game model structure and add more questions and functionality for new questions to appear as the user advances through the quiz.&nbsp;\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:html -->\n\u003Ciframe width=\"560\" height=\"315\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002Fk0MEIuOxssE?start=20\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen>\u003C\u002Fiframe>\n\u003C!-- \u002Fwp:html -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Here are some Stack Overflow questions related to the work we did in today’s session:\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F24003918\u002Fdoes-swift-have-access-modifiers\">Does Swift have access modifiers?&nbsp;\u003C\u002Fa>\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F57826430\u002Fswiftui-and-mvvm-communication-between-model-and-view-model\">SwiftUI and MVVM - Communication between model and view model\u003C\u002Fa>\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>If you want to ask any questions or provide feedback on the lesson, you are welcome to leave a comment on the \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=k0MEIuOxssE&amp;t=84s\">YouTube recording\u003C\u002Fa> of this lesson. If you’d like to watch a session live, follow the \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fc\u002Fcodecademy\u002Ffeatured\">Codecademy YouTube channel\u003C\u002Fa>.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Finally, if you want even more SwiftUI content, you can sign up for the \u003Ca href=\"https:\u002F\u002Fwww.codecademy.com\u002Flearn\u002Fpaths\u002Fbuild-ios-apps-with-swiftui\">Build iOS Apps with SwiftUI\u003C\u002Fa> Skill Path this series was based on.&nbsp; The Skill Path goes into much more detail about the Swift language and provides a deeper foundation that you can use to build sophisticated applications.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->","html","2021-08-28T16:41:00.000Z",{"current":168},"level-up-build-a-quiz-app-with-swiftui-part-3",[170,178,183,188],{"_createdAt":171,"_id":172,"_rev":173,"_type":174,"_updatedAt":171,"slug":175,"title":177},"2023-05-23T16:43:21Z","wp-tagcat-code-for-a-living","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":176},"code-for-a-living","Code for a Living",{"_createdAt":171,"_id":179,"_rev":173,"_type":174,"_updatedAt":171,"slug":180,"title":182},"wp-tagcat-level-up",{"current":181},"level-up","level up",{"_createdAt":171,"_id":184,"_rev":173,"_type":174,"_updatedAt":171,"slug":185,"title":187},"wp-tagcat-swift",{"current":186},"swift","Swift",{"_createdAt":171,"_id":189,"_rev":173,"_type":174,"_updatedAt":171,"slug":190,"title":192},"wp-tagcat-swiftui",{"current":191},"swiftui","SwiftUI","Level Up: Build a Quiz App with SwiftUI - Part 3",[195,201,207,213],{"_id":196,"publishedAt":197,"slug":198,"sponsored":12,"title":200},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":199},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":202,"publishedAt":203,"slug":204,"sponsored":12,"title":206},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":205},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":208,"publishedAt":209,"slug":210,"sponsored":12,"title":212},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":211},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"_id":214,"publishedAt":215,"slug":216,"sponsored":12,"title":218},"30b995f7-7cb9-4dd8-bf71-d0685940a32b","2026-06-19T14:00:00.000Z",{"_type":10,"current":217},"dispatches-from-o-reilly-from-capabilities-to-responsibilities","Dispatches from O'Reilly: From capabilities to responsibilities",{"data":220,"sourceMap":-1},{"count":221,"lastTimestamp":12},0]