<?xml version="1.0"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss">
<channel>
<title>blog</title>
<description></description>
<link>https://www.drowsydays.com/Drowsy-Days-blog</link>
<language></language>
<pubDate>Sun, 05 Apr 2026 20:47:05 GMT</pubDate>
<lastBuildDate>Sun, 05 Apr 2026 20:47:05 GMT</lastBuildDate>
<item>
<title><![CDATA[I got my coding agent to admit it was stuck. That’s when everything changed…]]></title>
<link>https://www.drowsydays.com/Drowsy-Days-blog/Entries/2026/3/i-got-my-coding-agent-to-admit-it-was-stuck-thats-when-everything-changed.html</link>
<guid isPermaLink="false">29041C4FD0F449E6A11399D98E17AE15</guid>
<pubDate>Mon, 30 Mar 2026 20:53:27 GMT</pubDate>
<description><![CDATA[<p><br></p><p class="ewgsStyle12">I was struggling to find and fix an obscure bug in my project. One of those vexing edge cases that surfaces occasionally, under a specific set of circumstances, except when it doesn&rsquo;t. I hunted for race conditions, memory leaks, persistent data corruption, etc. I couldn&rsquo;t find any explanation.</p><p class="ewgsStyle12">So I turned to a coding agent for assistance. I described the problem in detail, and my agent sprang into action, reading files, thinking and planning before confidently announcing that it had a solution. Unfortunately, it was wrong.</p><p class="ewgsStyle12">The problem persisted. I prompted again. More digging, thinking and planning, all to no avail.</p><p class="ewgsStyle12">This went on for several cycles. Each time my agent announced that it now had a complete understanding and definite solution (and yes, I was using my trusty <a href="internal://E72257678B59443CADEEF8785DB3C228/85969D142A294A7CA78E73DB9A668625" uuid="E72257678B59443CADEEF8785DB3C228/85969D142A294A7CA78E73DB9A668625">two-step</a> method to mitigate agentic overconfidence). Some of these did nothing, some introduced regressions.</p><p class="ewgsStyle12">Then the agent started proposing solutions that were variations of things it had tried before. It hadn&rsquo;t compressed or lost context, but it was going in circles.</p><p class="ewgsStyle12">That&rsquo;s when I realized it was stuck.</p><p class="ewgsStyle12">But was it going to admit that? I didn&rsquo;t think so. After all, agents are designed to solve problems, not to admit defeat. I realized that if I let it, it would spin in circles forever.</p><p class="ewgsStyle12">So I prompted: &ldquo;If you&rsquo;re stuck and can&rsquo;t come up with a solution, say so.&rdquo;</p><p class="ewgsStyle12">It responded: &ldquo;I&rsquo;m stuck. Let me be honest about where I am.&rdquo;</p><p class="ewgsStyle12"><span style="font-family: Avenir Next Bold;"><strong>That&rsquo;s when everything changed.</strong></span></p><p class="ewgsStyle12">It changed strategy, hypothesizing that the errant behavior was due to a bug in one of the frameworks I was importing. It suggested a complex diagnostic run that would trigger the unwanted behavior with detailed logging so it could test this hypothesis.</p><p class="ewgsStyle12">It asked: &ldquo;Would you be willing to do a diagnostic run with logging, or would you prefer I stop here?&rdquo;</p><p class="ewgsStyle12">Duh, diagnostic run please!</p><p class="ewgsStyle12">It analyzed the logs and voila!</p><p class="ewgsStyle12">It confirmed that my code was fine and that the culprit was a framework bug. Perhaps obvious in retrospect. I&rsquo;d poured over my code in detail and so had the agent.</p><p class="ewgsStyle12">Minutes later, the agent devised, implemented and tested an elegant solution that bypassed the framework bug. It works flawlessly.&nbsp;</p><p class="ewgsStyle12">I learned two key lessons:</p><ul><li class="ewgsStyle12">Even with mitigation efforts, agentic overconfidence and reason for existence prevent coding agents from recognizing when they&rsquo;re stuck. It took precious time (and tokens) for me to realize that the agent wasn&rsquo;t going to admit that unless I asked.</li><li class="ewgsStyle12">Admitting that it was stuck forced it to devise a different strategy which found and fixed the problem.</li></ul><p class="ewgsStyle12">Prompting the agent to find a bug in <span style="font-family: Avenir Next Bold;"><strong>my</strong></span> code imposed an implicit constraint. That constraint was removed when I got it to admit that it was stuck.</p><p><a href="internal://E72257678B59443CADEEF8785DB3C228/85969D142A294A7CA78E73DB9A668625" uuid="E72257678B59443CADEEF8785DB3C228/85969D142A294A7CA78E73DB9A668625">internal://first</a></p>]]></description>
<author></author>
</item>
<item>
<title><![CDATA[Agentic overconfidence is a real problem. Here’s what you can do about it.]]></title>
<link>https://www.drowsydays.com/Drowsy-Days-blog/Entries/2026/3/agentic-overconfidence-is-a-real-problem-heres-what-you-can-do-about-it.html</link>
<guid isPermaLink="false">85969D142A294A7CA78E73DB9A668625</guid>
<pubDate>Thu, 05 Mar 2026 21:38:30 GMT</pubDate>
<description><![CDATA[<p class="ewgsStyle12">Agentic overconfidence is the tendency for AI agents to overestimate the likelihood of success. It&rsquo;s a significant problem.</p><p class="ewgsStyle12">Recently I prompted an AI agent to:</p><p class="ewgsStyle12">&nbsp;&ldquo;Create a step by step guide explaining how to create a Help Book for a modern macOS swiftUI app. Include specific details such as how to create help book text and images, how to create a searchable index, how to create the necessary plist, and how to integrate the help book into an existing macOS Swiftui project with Help menu options including search, troubleshooting and get support menu items.&rdquo;</p><p class="ewgsStyle12">Moments later I had a professional looking, authoritative sounding 26 page document called &ldquo;MacOS HelpBook Guide&rdquo;. Here&rsquo;s the first page:</p><h1 class="ewgsStyle12" style="margin: 0.25in 0in 4pt; line-height: 30.666664px; break-after: avoid; font-size: 20pt; font-family: "Aptos Display", sans-serif; color: rgb(15, 71, 97); font-weight: normal;"><strong>Overview &amp; Prerequisites</strong></h1><p style="margin: 3pt 0in 5pt; line-height: 18.4px; font-family: Aptos, sans-serif;">Apple Help Books are self-contained bundles of HTML content that macOS&#39;s built-in Help Viewer displays. They support full-text search, Spotlight indexing, and deep integration with the Help menu. This guide walks you through every step &mdash; from folder structure to SwiftUI code &mdash; to ship a polished, searchable help system with your app.</p><p style="margin: 0in 0in 6pt; line-height: 18.4px; font-family: Aptos, sans-serif;"><br></p><div style="border-width: medium medium 1pt; border-style: none none solid; border-color: currentcolor currentcolor rgb(74, 144, 217); border-image: none; padding: 0in 0in 4pt;"><h2 style='margin: 8pt 0in 4pt; line-height: 24.533335px; break-after: avoid; font-size: 16pt; font-family: "Aptos Display", sans-serif; color: rgb(15, 71, 97); font-weight: normal; border: medium; padding: 0in;'><strong>Prerequisites</strong></h2></div><ul><li>Xcode 15 or later installed</li><li>An existing macOS SwiftUI project (target: macOS 13+)</li><li><strong>hiutil</strong> &mdash; Apple&#39;s Help indexing tool (included with Xcode Command Line Tools)</li><li>Basic familiarity with HTML and plist files</li></ul><p style="margin-bottom: 6pt; font-size: medium; line-height: 18.4px;"><br></p><div style="border-width: medium medium 1pt; border-style: none none solid; border-color: currentcolor currentcolor rgb(74, 144, 217); border-image: none; padding: 0in 0in 4pt;"><h2 style="line-height: 24.533335px; border: medium; padding: 0in;"><strong>High-Level Process</strong></h2></div><table border="1" cellpadding="0" cellspacing="0" style="width: 6.5in; border-collapse: collapse; border: medium;" width="624"><tbody><tr><td style="width: 125pt; border: 1pt solid rgb(204, 204, 204); background: rgb(214, 228, 247); padding: 4pt 6pt;" valign="top" width="167"><p style="line-height: 18.4px;"><strong>Step</strong></p></td><td style="width: 343pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(204, 204, 204) rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; border-image: none; background: rgb(214, 228, 247); padding: 4pt 6pt;" valign="top" width="457"><p style="line-height: 18.4px;"><strong>What Happens</strong></p></td></tr><tr><td style="width: 125pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="167"><p style="line-height: 18.4px;">1. Folder Structure</p></td><td style="width: 343pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="457"><p style="line-height: 18.4px;">Create the .help bundle with required subfolders</p></td></tr><tr><td style="width: 125pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="167"><p style="line-height: 18.4px;">2. Info.plist</p></td><td style="width: 343pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="457"><p style="line-height: 18.4px;">Declare metadata: bundle ID, book title, anchor root</p></td></tr><tr><td style="width: 125pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="167"><p style="line-height: 18.4px;">3. HTML Content</p></td><td style="width: 343pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="457"><p style="line-height: 18.4px;">Write help pages using Apple&#39;s required meta tags</p></td></tr><tr><td style="width: 125pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="167"><p style="line-height: 18.4px;">4. Images &amp; Assets</p></td><td style="width: 343pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="457"><p style="line-height: 18.4px;">Add screenshots with proper naming and alt text</p></td></tr><tr><td style="width: 125pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="167"><p style="line-height: 18.4px;">5. Build Index</p></td><td style="width: 343pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="457"><p style="line-height: 18.4px;">Run hiutil to generate a Spotlight-compatible index</p></td></tr><tr><td style="width: 125pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="167"><p style="line-height: 18.4px;">6. Xcode Integration</p></td><td style="width: 343pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="457"><p style="line-height: 18.4px;">Add bundle to project, set CFBundleHelpBookName</p></td></tr><tr><td style="width: 125pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204); border-image: none; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="167"><p style="line-height: 18.4px;">7. SwiftUI Help Menu</p></td><td style="width: 343pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor rgb(204, 204, 204) rgb(204, 204, 204) currentcolor; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; padding: 4pt 6pt;" valign="top" width="457"><p style="line-height: 18.4px;">Add Search, Troubleshoot, Get Support menu items</p></td></tr></tbody></table><p style="font-size: medium;"><br></p><p class="ewgsStyle12">I was skeptical. This isn&rsquo;t an easy task. Documentation for how to do this is notoriously outdated. Apple&rsquo;s own documentation dates to 2013 and has been archived.</p><p class="ewgsStyle12">There are several approaches under investigation for reducing the impact of agentic overconfidence. For example, see <a href="https://arxiv.org/html/2602.06948v1">https://arxiv.org/html/2602.06948v1</a></p><p class="ewgsStyle12">I&rsquo;ve found a combination of two strategies to be effective.</p><p class="ewgsStyle12">First, I prompted:</p><p class="ewgsStyle12">&ldquo;Rank your confidence in the accuracy of this guide on a scale of 0 to 100. If your confidence is below 90, make revisions as needed until your confidence is above 90. Then add references so I can see the source material you used to develop this guide.&rdquo;</p><p class="ewgsStyle12">I got this response:</p><p class="ewgsStyle12" style="font-size: medium;"><strong>Original guide score: ~58/100.</strong></p><p class="ewgsStyle12">The agent provided a list of five critical errors and key changes that needed to be made. After making those changes, I got a revised 26 page, equally authoritative document and a much improved confidence score.</p><p style="font-size: medium;"><strong>Revised confidence: ~92/100.</strong></p><p class="ewgsStyle12">Good to go? Perhaps, but I wasn&rsquo;t convinced. So I prompted:</p><p class="ewgsStyle12">&ldquo;What errors or mistakes can you find in the latest version of the macOS helpbook guide?&rdquo;</p><p class="ewgsStyle12">The response listed <strong>12 issues</strong>, categorized as:</p><p style="font-size: medium;"><strong>Summary count: 5 definite errors, 4 significant inaccuracies, 3 notable omissions.</strong> The most critical ones to fix before shipping this guide to a developer are items 1, 2, and 3 &mdash; the bad <code>hiutil -T</code> flag, its repeat in the Quick Reference, and the obsolete <code>CODE_SIGN_RESOURCE_RULES_PATH</code> advice, which could cause App Store rejection.</p><p class="ewgsStyle12">I prompted:&nbsp;</p><p class="ewgsStyle12">&ldquo;Fix the 5 definite errors, 4 significant inaccuracies and 3 notable omissions.&rdquo;</p><p class="ewgsStyle12">I now have a twice revised 26 page guide.</p><p style="font-size: medium;">________________________________________________________________________</p><p class="ewgsStyle12">The two step approach I used can be summarized as,</p><ol><li class="ewgsStyle12">Challenge your agent to rate its accuracy</li><li class="ewgsStyle12">Ask your agent to find errors</li></ol><p class="ewgsStyle12">These sound similar, but they&rsquo;re not. The first strategy requests a post-execution verification. The second strategy requests a post-execution falsification. When combined, these approaches may help overcome the confirmation bias that underlies agentic overconfidence.</p><p class="ewgsStyle12">If doubts remain, it may be helpful to repeat the two-step process with a different agent.</p><p class="ewgsStyle12">Agentic overconfidence will improve with time, but for critical applications where complete accuracy is essential, verification strategies may always be needed. Try the two complimentary approaches described here to improve the reliability of your results.</p><p style="font-size: medium;"><br></p><p style="font-size: medium;"><br></p><p style="font-size: medium;"><br></p><p style="font-size: medium;"><br></p><p style="font-size: medium; line-height: 18.4px;"><br></p>]]></description>
<author></author>
</item>
<item>
<title><![CDATA[Xcode 26.3 is a bigger deal than you might think!]]></title>
<link>https://www.drowsydays.com/Drowsy-Days-blog/Entries/2026/2/xcode-263-is-a-bigger-deal-than-you-might-think.html</link>
<guid isPermaLink="false">1BEB5462F5D34982AEF9FC6782D2D695</guid>
<pubDate>Fri, 06 Feb 2026 20:08:39 GMT</pubDate>
<description><![CDATA[<p class="ewgsStyle12">Apple just released Xcode 26.3 RC. If you think it&rsquo;s just another .x release needed to align with the upcoming release of MacOS 26.3, think again! Coding Intelligence in Xcode 26.3 take a huge leap forward, with robust support for<a href="http://www.everwebapp.com">&nbsp;agentic coding</a>. Out of the box, there&rsquo;s built in support for Claude and Codex, but those require paid plans, and token efficiency is unclear right now, particularly with a release candidate.</p><p class="ewgsStyle12">Want to explore these new features without spending more? You can, thanks to the ability to add other agents, including those with generous free tiers. Let&rsquo;s look at how we can integrate Google Gemini into this new version of Xcode.</p><p class="ewgsStyle12">Google Gemini offers a generous free tier, but support for Gemini isn&rsquo;t preconfigured in Xcode 26.3, at least not as of Xcode 26.3 RC. Adding it isn&rsquo;t difficult, but you&rsquo;ll need a few things first:</p><ul><li class="ewgsStyle12">A Google account</li><li class="ewgsStyle12">Access to Google AI Studio</li><li class="ewgsStyle12">A Gemini API key</li></ul><p class="ewgsStyle12">If you don&rsquo;t have a Google account, create one at <a href="https://accounts.google.com/">https://accounts.google.com/</a>.</p><p class="ewgsStyle12"><strong>Go to</strong> <a href="https://aistudio.google.com">aistudio.google.com</a> and sign in with your Google account.</p><p class="ewgsStyle12"><strong>Accept</strong> the Generative AI Terms of Service.</p><p style="line-height: 18.4px; font-size: medium;"><em><span style='font-family: "Avenir Next Regular"; font-size: 18px;'>Don&rsquo;t upgrade to a paid plan. You&rsquo;ll be using the free one.</span></em></p><p style="line-height: 18.4px; font-size: medium;"><span style='font-family: "Avenir Next Regular"; font-size: 18px;'>On the bottom left of the window, <strong>click</strong> &ldquo;Get API key&rdquo;</span></p><p style="line-height: 18.4px; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;">On the top right of the window, <strong>click&nbsp;</strong>&ldquo;Create API key&rdquo;</span></span></p><p style="line-height: 18.4px; font-size: medium;"><span style='font-family: "Avenir Next Regular"; font-size: 18px;'><strong>Click</strong> on your API key to see the details, then click the copy icon next to your key to copy it.</span></p><p style="line-height: 18.4px; font-size: medium;"><span style='font-family: "Avenir Next Regular"; font-size: 18px;'><br></span></p><p style="line-height: 18.4px; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;"><strong>You now have everything you need to set up Xcode. Here&rsquo;s how:</strong></span></span></p><p style="line-height: 18.4px; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;">Open Xcode 26.3 RC or later.</span></span></p><p style="line-height: 18.4px; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;">Go to Settings and select Intelligence.</span></span></p><p style="line-height: 18.4px; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;">Click <strong>Add a Provider</strong>&hellip;</span></span></p><p style="line-height: 18.4px; font-size: medium;"><span style='font-family: "Avenir Next Regular"; font-size: 18px;'>You&rsquo;ll see a dialog like this&hellip;</span></p><p style="line-height: 18.4px; font-size: medium;"><br></p><p style="line-height: 18.4px; font-size: medium;"><img data-fr-image-pasted="true" width="164" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeEAAAGHCAYAAACH5+pJAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4aADAAQAAAABAAABhwAAAAAq4yFuAABAAElEQVR4Aey9BaBc1dX+veZqkhs34kRxdwgQ3DUQilspWuAF2lLa/qEvhfcrTnEoUooUKFAoEpzgEiAQIEg8IcQ9uZFr3/6tuXvumTNybWaurQVzj+2z5Tkn+9lL9j6Rfv36VTmR5i6+jpFIRKL7EVflbNbb5x+Rdu2KZe3a9TmByDUvqaQ6nzRxszuZolHNrp5tpUKp/t2kek7J0qdK21YwtHa2WATcqxtx/1W5/3Tr+K+mf83te025BYnkllto61u+T19VVZnlitZ0PJSZWF59HlZNXjWVTn6/Hw/VvBTRO/z5mvtb0l6y9rek+reVutbnOdUnbVvBz9rZ1AigpNUq7tWFgBG/hZajSl30DOScC6FfL/AFeXLzx5nekn95eblUVlZKRUWFbtnnvN9SZpTwIL1qkFJs6wR2phth+RkChoAhYAg0WwTgjRpucFSqXBrd+vNsE395kpcX/eXns82XgsICydMMskvIMRLONKoQ7fr166WsrEzJlwaWlJRIhw4d9FdcXCz8CgoKYj/S5OfnKxgeJM6F96kr50wMAUPAEDAEDAGPQFB5Q3+rrKyIKXZe2QsqguXlFU4pLFeeWrduvaxbt07WrCl1vzWyfNkyd3+VFDoyLigoVL6CnzItkb59+0ZVzgzkDAA0gh/k2aNHD+nWrZt07dpV2rdvrxovpOyJGaJOpRWTl/9RNb/P1sQQMAQMAUPAEEiFgFfcvLIWPGbfK3ds+UGu/FAKCwsL9cd5yHjZsuWydOkSWbx4iZI6ymO7du2rFUH4qHEKYUZIuMqNFtasXaPk2717d+nTp4+wZcRBI/itXbtWCTcVaHbeEDAEDAFDwBBoLghAyu3atVMFEiWSY4h43ry5smTJEmnnzrWHjKlwzZ96V7/RJBxV39eoxjtw4EDp0qWLrFy5Un9cMzEEDAFDwBAwBFo6AmjAnTp10t/y5Stk9uxZTkte5ki6gzNVF0XjuhpAxg0mYczCpaWlqpIPGjRINthgA1m1apUsX75cfcAtHXCrvyFgCBgChoAhEEYAkzXKZseOHWXBggUyc9YsJWDindCII2qhVjYO35r0uN4k7H2zq1ev1kCrESNGqE196dKlanJOWoqdNAQMAUPAEDAEWhECmKqJeSJ4a/LkyeI5Mc9FVzMDKuqPrt1nXHcSJlDKAYifl8J69uwpQ4YMUeJdvHhxK4LWmmIIGAKGgCFgCNQNAQKQIeTp06fLokWLVUPWwC9/ey0zeRxl1y6q/bpkbCHg3r17y/Dhw9X8bARcO36WwhAwBAwBQ6B1IgAH4oqFE3v37qX7Oh3KNRfFFd6M7iVvf63zhKMZRG/2GvDgwYPVIb1ixYrkudpZQ8AQMAQMAUOgjSBALBRciXUYAiaKmiAuL8rDjpL9lCl/nm1KEg6SLwkJwmKxjaFDh2rksxEwqJgYAoaAIWAIGAIicCIkO2zYMOemXaecqcFaceAk+oiTmqPDBMzKV2SOuq0riTjWNzEEDAFDwBAwBAyBGgTQiFFYR4wY7jhTdNXImquYpr15uuZsHAlDvmECJinEyzSk6GRlC8Kqgc/2DAFDwBAwBAyBGgTwEROYBWeyBGZyqeHaOBKOrvoRfwsETBg2wVhMQzIxBAwBQ8AQMAQMgdQIwJW9evVySzZ3S0rEaMTMJEbpjZGwasCYqwPCOZabhNEJymLfxBAwBAwBQ8AQMARSIwBXwpmDBg1U3kxmYfZ0qyScLAHZs+wkc6CI8sLWbWIIGAKGgCFgCBgCtSMAZ8KdfEdh3brUCmxeKgKmCAKy3FeWdN4T3wI2MQQMAUPAEDAEDIHaEYAzmT/cr18/VWhT3REzR4cT8IlBArHwB5ORiSFgCBgChoAhYAjUHQG4k0/5st40nJpMUpIw3/yNrotZab7gZMjZOUPAEDAEDAFDIA0C+IZZvAMiLitbnzRlWhLGlk10tIkhYAgYAoaAIWAI1B8BOLR79x7OvVvmbvbhWDX5pCRh7Nmwt5FwDVi2ZwgYAoaAIWAI1AcBOLRr1y7uE7+QMBJPxAnLVhKoxY/JxnwZIhfTkliNix9lIv5YD0J/uGZiCBgChoAhYAikQiBVwLHnN+7TjyxU812qfDJxHg6FS+G3iopKyYfnAjSWQMIUigOZNS+pcCpnciYqR6X8z8g1E4haHoaAIWAIGAKp+CR4nsBjOA4y9r9sIAeHUk6HDiWunArlvIhqw1EmTmqO9iTMFKVsCQD4XxCYbJVn+RoChoAhYAgYAkEE4B7PQ2yzJXBphw7tVROmDMfJSszsx0jYGaFjJxkVoD5na26wb7Q3P1MRE0PAEDAEDAFDoCkQgIs8L2WjfLi0ffv2qgnH5e/YOEbCQV9xNknYN9S037hHYQeGgCFgCBgCTYhAUCvOdDUg4eLiYjV7B/MmREtJGHt1UDjmhkz7g/1owwg4iLbtGwKGgCFgCDQHBDwRZ9pKC5cmI2HaXKMJBxBAE063wkcgab12aZgRcL0gs8SGgCFgCBgCOUQAjsoGCRcWFsZcvsHmJF07Gk0YEoaMMyXZaFim6mb5GAKGgCFgCBgCHoFMK4xwaX5+ck5Nqglni4RNC/aP2LaGgCFgCBgCzRUBuCqTfBW1LkenRIUX60hJwowEwr7ixgCWafW+MXWxew0BQ8AQMAQMgXQIZJKz4NK8PE/C8aWmJGGimDNpjo4v1o4MAUPAEDAEDIG2gUDUHB2l22gcdE0wdAIJe+0305pwJlX7tvHYrJWGgCFgCBgCTYVAJjkrqgnXWJejRBxtWdJlK7mBCnhCbioQeg4aKsN2GCkbDB4mnbt0l4KiQnVuKzi64hd/akYUzorPkiPuXHXdqyqlorxCyivKZcXSxTJ/xlSZ+tkHsmjWtKZqkpWbRQT8FAA+w2liCBgChkBzQSCBUx11+XNxJBwk3UyTcH1HFYO22lG2O/Ao6Tp0E6lo79bcLOog63RZMbe0mOrv0XU3oyScbN8lq4yuAhapLJMu60ql+4gtpe+wTeSLV5+TWRPH1/v5bL/99nLJJZfI7373O/n5559T3r///vvLeeedJ6effrqsWLEiIV1t1xNuSHHiyCOPlA033FAefvhhWb58eVyqjh07yhlnnCHTpk2Tl156Ke5aXQ7qU8e//vWvsmzZMmEbFFwaN910k86P+/LLL/Wl++mnn+STTz6RxYsXB5M2eh/Lzf333y9LliyRiy++OCG/zp07K06kaQgeCRnaCUPAEGjVCNSXs9KBAbfG+ZhrdEcJkHDNWX9DkJTTFZDpaz2cBrytI+COG28tazr30i9O5FVFtV4mTeW5qlbyGYqI26lyH4Fw59wS2e7YzUNmS1rX6Mo8tu6X306ksFikpJt0dNttXfrVyxbL4npqxCeddJJ06dJFDjroIHnwwQdTNpv5YPyY5pVMarue7J5k54466ijp2bOnDgiefvrpuCT77ruvHHDAAfopyoaQTn3qSDsh/bBwftiwYXq6R48euhQqL/aYMWPk8ssvlwULFoRvafAxPhcGHEuXLk2aB+VSHwYGJoaAIWAI5BIBuJQ+KBmnxnzCLklcnTI5CojLuA4HQ50JupPTgNc6AoZ0nUIrGBjLXB0rXEPKOafn3bEj3XL349hZnzVtBddcOt26e7jf76/r3Fvzpoz6yIABA2TEiBF6y6hRo5J25phD00lt14P3gn9RUVHwVML+jBkz9Nxpp52WEE7PgAH58ccfdev/MBqDYFNJbXWsrU7J8n3qqafkuOOOk7POOkvefPNNHTgwQAgLa6sGhXrGjR6DF5PsX3XVVXLrrbfGXSGPdMTLtXR40N5098cVZgeGgCFgCKRAIBmnQso1qpo78JKOtX2abG57bThcytp1ckU4Aq0ePTiXtjtkJOHI1p0f0D4iG3bIl37FebJJZ/dFJjeGmLSiQmatqZSZqytl7jrHyKo9Rwk74vZpIcpzWbvO0mvDqIZW13bsvffemvSNN96Q/fbbT7bZZhv5/PPP9dzmm28uv/zlL5Wk0e4wuQaltuvBtHxCkrxGjhypn5OEaO+++2757rvvgskS9rfbbrtYfbbaaitdLDyYCHI955xzZOedd5aSkhL59ttv5aGHHpIpU6ZostrqOGTIECVR0mH6BodHH3006cguWG5wH2z+/ve/y1577SXDhw/XS9ddd53m0bVrV+nfv7+a8SE+MNhss82ktLRUxo8frxiA+QUXXCA333yzYN5GGIDss88+et8f//hHmTNnjtx1113axgsvvFB22GEHzf+jjz7S9P4PZZx77rmyyy67qLl8woQJcuedd6omfeihh8opp5yiGOGCeOKJJ/Tn77WtIWAIGAL1QQBOTTpFyfGWasJJVWSnMSU7X5+CG5q2Y7ceUlbcIarxOtJEky13VS13vNq5MCInDiiS0zdsJ8NL8gSuhYCRzRwZH7RBoZwztFiO7V8kJQVRrbnKEXCFy6PCpUOTXl/cXiijroI2Rkc/c+ZM9SuyDijHCGbWP/3pT7LBBhsoKX311VcCIXqp7bpP57f4edESx40bJ4888oh0795dfvvb3/rLCdupU6eq3/nggw+OXcNcDnlNnjw5du7SSy8V/Lzvv/++PPbYYzJo0CD53//9X82/tjpigiftwIEDtY0QOJrtMcccE8u/rjudOnVSzZL6IfhqIXYGLgw2+AD2X/7yF/V1/+tf/5J3331XMK2DAQMR7vcDIjRUrs2fP1/bS160Bbnssst0IPPWW2/JM888o2SrF6r/4DcGD3DmOs8MTRrp1q2bkjiDAgYanvCrb7WNIWAIGAL1QiCq2Ca5xfFSjSYcuB69Ibn9OpCsXrvJVPFUGeQ73926CBOboyn8vYMc6Z46sEhmlVbKrdPWyvL1VXKaO/7GacBLyqqUlHsUReTe6evl8D6Fcv6QYnlo9nqZuxbdOdoe1YfdpOm8gtQm2XC9tthiCzWh4lslAAmtCQ0KrZVr+EOvueYaDTjiXoiC60ht1zVR4M9///tfNdnSZvLdaaedZJNNNtGyPHEFkgvfqXz99dfl6KOPVgJigLDbbrtp8NHgwYM1KeZW8oFwIDpk+vTpSjpozTzvdG3YcsstlZj+8Y9/qLb9xRdfyO67765kGPZFa+ahP5A1dWeggiaOMBjwQl3ADyFfyDSIJ2ZqtOd169bJxx9/LLvuuqtqrWjKEOY///lPn5Vu0XIhVdqLVozMmzdPiZl98Nhzzz11kPLaa69xSgcYlN27d2895s/VV1+dNgAvltB2DAFDoNUh4HknEw1Lx6lJSZhCM1mB+jYi4tbYLMsrcOp7VAvm/q5Oqz3ZacAfL62UV+aXqaV5rx4uIMidf3xWmfx2WJF8sLRCRnTIk5/XV8q9s9bLUU4rPsXd8zdHyqvLHRG7wC2mMLkQHYk4oq+rHHbYYZp09OjRgj/Ykxsm4169XOCYE2/W9fuehNGm/DndcX9I66/7c34LaV900UVKRP5cbduxY8cKdTvwwAOVlNEQOUeENtK3b18NSgrWEQ0awdftF2UJXg/WEQ0YOd1Fe/PzgjZdF6E+mHh5EbEmPPDAA/Lhhx/Gbg1Gmvs8g3Whrmi8tIMBB2TJoAJT8Zo1a+S9996L5cUO6SgzmEfQN851BB//7bffrvv+j3+eHM+dO9eftq0hYAgYAo1CoIZT0S6rzbduL4GJPGM3qrTG3uyimqkm348gCtpxsVwytEiDr15yBIz0dGbpfXoWyN0zymVISUQWO614mdOGV7qorQoXMR1xzt/nFpRJn3ZFcoTTih+f44ibXPnfhVfXAKLZpfzTrl071bxIgJaKfPbZZ3LssccqMbz66qt6DvLw0248kXDBd+SpruvNgT+nnnqqktUVV1yh0b74Jv0gIJAsbhdzLP5pSBhCxSQe9EtzHQ3Zkyk3+30IkGeOpKojWiRy5ZVXqp+UfTRnfx/H6YTALEzrdZFkeFFXyqIds2bN0qhq/PKbbrqpvPPOO6ohB/MmHemDzyG4z3UELfjee+/VfbRnfOX4rbfdlvh5E0PAEDAEMosAvEPfFOSfgrp2pJmtSvrc0FUd/6pADyM6RqRdteN3S+f3nbiyUvbvXSifLKuU2WsrZdfuhfLtKveVCtfA9VGqdQ2N+oGfnV8hlw4plLcX5ckclzaqCaMR14xEqotKusH0idx2222qhflE+GrxC0MumEkJAnr++eeFACNMnV7wn6a77tP5LWQJIWC63XjjjZVY/bV025dffllJkjQEPwWF8idOnKi+ZubRrlq1So444gjVIr/55htNmq6OX3/9taYlKOrJJ5/UqUYMDr7//vtYmcHyGrPvy/J4YvLHx0390XoRgsJOPPFE3ffmZD2o/oNfmXbhW/ftPeGEE2JJaCt+Xoh80aJFGsyFyZw51wyCTAwBQ8AQyC4CMFuUg1Aym51AkBXuRzAWZLxj1wIl3L/PLpNf9CuUGzctlu0658n4ZRUabDXATQOe7vzE61y7Ouc7gnVkXObat2mnPDmxX1TZ36mrC+xy5ypcnmUuU9LURTB7sgLTBx98EJecgB9k8ODBcsMNN6gGyhQczK4+khlCRbNKdz0uU3eA35Xyfv3rXwvE4bW2cDqOIRsvaMKkhXRYDCMs119/veDLRYNnEQ98yddee63Wr7Y6QlSk5R7I8eyzzxaitokmRiC1ZIJWzq+8nEllySV8L2XhD4ZwiZAmAAwfPFHUXiBhBo/UIRh8FsQDzCdNmhSbGsU+4okcPCBi8mcBFgZPN954Y2xxFerVHAeoHgPbGgKGQMtEwHVdTmr4J+ICUfSUbw6dJh05UbpeS/LXGrOtbf5pMO/jb3hI5g3asrqaEblmo0J5Zl6FTHAa8LaOWM8YUGNF/8hpw7s6gv3nHGeWbp8ne3SPjiswT7NWxyuLKoQQrJHd8+WvU5yerG2PyAazvpInfntmsNhG72OihQhSkU5t130FMFVgGoUIMr0EI1o2+YfJz5ddWx15jvhbkwWJ+TwytaUsiBDyb6gQ1EV7U9UXPFjEI9X1hpZr9xkChkDLRyBVP9mQlhHvg7W0R4+eLt7JkzARSs1QMBpHV8SiolXSyQVfLXb+XqYqfeEioc+orvZDP5VLNxcNjYzpUyDt83VX/7zjArjGuUCtCnfT5h3zpLNraZnrjHW1Lecv1vxrkmdkDzNvOqntur8X4qlrWn9PXbe1EVpt5Wbypaytzpkoy2u+qcoCj9owSXWvnTcEDAFDoCEIoA17v3ASEvYM3ZCsM3MP5mgqCRkRokWNhruo5yn4dN35pY6Q75xVoT5eSjysV778eWqZrHaTgc/qXyjbdI7Iu0sq1ezMUpaYtBF3qy5lib+YfRNDwBAwBAwBQ6BpEICFnGLItB0EEyPzM3v27BFjaL3QBH+omvpvncpeUV2/ozbIl9G986TYabNoxssc4VbodZFSt1/itOD1jlzvctrxZysq5fT+7nvILi3LWnYtyJPlRE27fNGM2RoJN8GDtSINAUPAEDAE4hDI69Spo67P26VL12bjG4MgCczC/My60J+tqJLJq6ukv1ui8poRBeI4WIocOVc4tRiinb/OLWPZLqrxYmb+h/MPd3VTmM5yvuO9nY/45H5uzujq6HQnyL3S/YyE494DOzAEDAFDwBBoAgQK8IcRmIKjePnylS5gZ62agZugLrEiNTLaESXrPSPvOv/urwfmy++mlEtf5wO+fHC+/N+IfJmxJk/cVGAZUcIvX3oWuzY4U3XPogJx63XIjs4svSPOYCfjXB7ljrCrHAOTK9pwXcXb7oPpmyJyliUZCZxiwYuGCItUcH8wojhZPgREDR06VIO3+DJRU0ld61vX+hEBzZxjosiJCM+EMP8Yv/PChQszkV1G80iHH9OxVq9erVO0MlqoZWYIGAJ1QgDXKutZFBDNy1xMSCVVVG+dcsxgoko0XFRVraTIBKcFTy2tklP75Mutztw8a22evLio0hGuyMZuoY6dHNkiR/R005ac1kwQ18fOJP2IW5PhL0PzZZE7nrKOcC9HwK7RZK35613p//CpwNNPPz0uERHLf/vb3+LOhQ+YX8xKT43p7ImQ5gMELNVIkBLLVw4ePLjBJMwKU6zgVRsJM80KcmFKUy5JuF+/flo/PtiA1LW+YeyTHeNuOfnkk3XKFF9yauhzCdeRJUJZ8KQ5knA6/FjtjcEcU8JMDAFDoKkQcNHRrKPryZeOqqIi9ZzOXFWz0jEkP+YY+aCqe+dWyDVDC+QIF4T1s5ux0tnZpD9wRDvRfTVpkiPpPw3Jlwd/rpA3l/nI50o5zZE2QVz/b7oL0nIEHI2MZludfx0a5D+lxzKQK1eu1Ds8XsHb0ZaD2jHkSfpwZ09+TAMLS7LzkPCOO+6o81nDkcLJ0pNnqvNcY8lHnnFYwnVnoRDWdmZlsKCkyttbCoLtD6YN7qfLD82N1ao8CSerb6q8yDfdNT5CwepnLK4SnHud7p5k18J1TNcefy1ZPv5acJsqXfh8+DiYR3A/k/jVtcxg+bZvCBgCtSHgNGE6plWrVmvUcSdnqlxdypKPUc2yttuzdb3cLXJR5T4OXCGOMBwXo7nOdVrvLbMq5XcbuuAsF0vmVqKUFxa7C66uX69x0dJzKuUopwm/uaxcerlArLPcoh5D24v8fzPdvGdHxEShVTotmInCeZXlUl7PwQafyOPjDUFhlSXwo4NHWFSCT+Ydf/zx+nk8VmTigwAs7MEHBSBm5q2iXbLcJaTFAh9MC0Lj5gMRfo1j0v3iF7/QfFmdigUqED5YwGIbbKkTS2liDkVz5SMH5MMyk6+88orO99abqv/wKUAIlntS1Z3vEEP+aEqsCsaKVGhU1B9TNsthkjcDDPLgHAF9LIbBXFu0ddwbnGeeOdhg+gS7F154QQclaPOsNkYbOE/b/EcVGCScf/75SpZ8oMHXl49isHIWa11jRmVxEn7kffjhh2u+XAMTNN2ghkdd/PeVx4wZI+Pchx3QAtPlx1x5tF4WJPHTnPj8IquhBesItKxBzZegmHMMDpTPQCvZMw9PhwJD2g7WbHn+YA7phd8NlvQM15l37swzz5RPP/1UVxWjbrwfLNiChcvjB9Z8aYtBBFo7z8y7NVK9O1hzWBqUejEI/IdbSMbEEDAEMotAHh0ahLdyxXJHdi7KuKRDZkuozi2oJdVWgC5Q4eqETu6W3NABQoUjzy8d2V4+zX0veG2VDHbfE/7jhgVyfM982cEta1nmfL39nU/4sc0K5aYRblUsd+/lUyvke3cPnzAsdwRMHpqni6YuK6ufxo/ZkU/o8YPMEDo5OjO0ZDpf0tDhQ1KsloVGR+dIJwfpsKYzRIRfco899tCOFsJDs3722WdjnSJ54ybwxEv+fGkIgfRZ6YllKjEt84UjfLhHHXWUrl3NV43AmmUpw0I66oykqjv5QhTUm48sQHK0GUKljrTPr2VNHvxoL50+daOzR4vGhL711ltr581Sl5CKX5OZLzdBlpyHzPkoBmtC0y6I/N///rcSbbC+lEnZ1IGlLakTdYMgKBdiee6555T0/fPx7SdPv8Y3Ax3M8XXJ7/HHH9f6+3yS1ZFrDJggTiwHtBniS/XMfV5+C34Q49tvv63Pm0EM1g/wCr8byerMu8Sgi0EAMmTIEMUAgg3id8ghhyhOvB8z3EpjYIake3f88+Q9fvHFFzW9/TEE2goC9eGsxmCS502j652fc+nSpa4jX6KdeGMybey9K5ctlvy1a3Q6EZ9dYJENKNNxpxLwxVMr1cT8rfMTs2TlGX3d8pQbOI3YrZXx+PxKuXJ6lfxlRoX85Nau1GlJjnwrK100tcsLQ3DB+tVCGfURNAw0PH7se2FtaAgSDRgLApoo2h3Eunz5ctVyhw0bpsnR5gh4ouP1hMQFyI5OM2hy5gXwH4RAq/PX0NDQfli3GV8kg4A+ffqoFkbHvdFGG2n+1MN3tL6u4W2yuvMOMIBYsWKF1p1OnjJpH3VkC2mAAwI5Q2p+kQ+0NZbtZK1nBG0V7Xn27Nmx+vDRBTCCcCArrAUQP2WCG4Tq30vyoCzKDNaBOlE3LxA/FgbqEvwcIdfJi/QIWNK+dPmBPdYL8A3WI1Udf/jhB/X/M/AgPc+ktmeulan+A4ZgxvMgLzR6L/7dSFdnBiUMyHi/wJTnBJZewI+Bgc+LbzR710pt7w4YEBsQtCz4fG1rCBgCDUEAy2yNJFmsIz5BTdLc7S2ZNU16jthGlpZ0VdJ0rmEX1YzlWb8K7Mg0IhPcN+G/dCTMfxBrdLZzdR1dE1xSvRY9EzVF57mvK2GS7rV2lSx0ZdRH+FwexBEWT45hM2MwnTfv+44RjdgTLOnqszSlL4/7fJk+fwiUcxA02lmQQEgfFp+Xzyd8nWOIPZgP+/ocANhJ+F7vL/ejSMgD8XkwgMG8DgkQuAY5YopNJ748n4fPz7eb8x7DcH2S5VtbftTd1zvZ/eFzHkfu8ff5uqV65sE8gu2ibDD34tuVrs5o6JSDVQTy91q/zyPZvf75+Hqmenf88/R52dYQMAQahwD/vv2/SXLSf+3+H2Tjss7c3fPGvysV07+V7sudRuQIt9yZmpkPjDZMgBXEi2m5zHVY5Ry7fY7V3MyWdG7LtfLqYyKjub+ny7Ni2iShjPoImiUaFj/2axM6LzQazH1oJmCMiRltDRMq02VqE98BY3YNat/h+wg0ovOHeCE2OnXq6O8Pp6/PMWZj8sLEi9a08847q/+1oXlTRzR0NFa0PvLBJYKwjwkWrS0onCfAjbKpA3WhTmhpDZHG5JeqjuF61OeZ4/sePHiwWkmwZCRrV7o6826hTeMO4T0A26BwL9YFjx/mbrR1pD7vDvnjIzYxBAyBzCGgmjCs3JyIeNXsqTL11WdlqNNo+w3dQlYWd5LS4g5uhSxnUs5zK2E5YmWqUfXXGBwlO61Mj93G/VdVvZ/vIqxZwiNSXiEl61ZLp3UrpdKR+5TXnhXKqIt4LQWfqxe0LT5tCGZB3ILHmGP5AhPkiR8Sv9pee+2lZmPM1PjY/L1+6/P3W7QTtBwCvBDq4usTPCZwCF8uflLvh8XkG843eH+wruQVPA6mg9Tx9xKQROARnbn/rnLwnmB9/L7P12/JF7M15lOCfujUwcK3iQEK5wmieuihh+LaC174uZlmBP7Uibph3g+2k7yCx5SNeA3VX6trftG7a/6mqyOpKJ+yqFuyZ16TU80emvTo0aNVA8ZfS9u8hurrS+pUdeYaJAx2xCb4tlIXjy1+e48fz4AyuZbu3QneTxn4nRkg+K+Ecc7EEDAEGoeAfkXJcYkT/aMdGCbCTH9FCe0vaGarS7VLBg6T3juOki6DhkiHrj2ZTyUFjoRdRq6TSp+Ddl6uYURalztNoHTpYlk+e5osGP+OrK4jAacvofarvr2+I+TYR5rWfndNCoicPIIdcs3V+D00bzQfX2b81YYfUXd+mTJP0ibyo65BgXw474kkeI19/Jthcginqc9xQ/KrrY7B8mlLumeOaZ6IaIK6qIs3bQfzCO83pM4+D94PBjHJ3qXa3p1kAwOfr20NgdaGAP1MuH9qTBv9V5R69eoVNUeTmevvoj5hCC3KwY0pI+P3QpbTc0SYGa+8yzBMhBzXpZMN1yUVIYXTcdyQ/JPlEz6XSeIjb9qUrF2QQ7Lzvj6ZGgQ0Jr/a6ujzZlvbM+d50aZUeATz8vuNwSDd+5HuGmUnI25fJ9saAoZAfRGIapJREo6qwvXNoV7p7R9wveCyxG0EgaeeeqqNtNSaaQi0LASyzVnENuE+1cAsb2ZqWRBZbQ0BQ8AQMAQMgZaNQM6io8Om2ZYNm9XeEDAEDAFDoDUjkCvOUhLOBZCo9tlW73PRDivDEDAEDAFDoHUjkEu+yikJ52pk0bpfD2udIWAIGAKGQDYRgKtypTQWsB4v4gukcOanZkPImykb5oPOBrqWpyFgCBgChkBjEYALc6kwJviEs0mQNIypGJ7wGwuW3W8IGAKGgCFgCGQKAbgJjso5CQeJN9uzlfx8SCPiTL02lo8hYAgYAoZAYxHwBAxH5VIS5wmz5GOWxTcS0zQ/E0PAEDAEDAFDoKkQQPP1ltpc16F6xSy3codXgbPPwdpGiJiRBz/zE+f6sVt5hoAhYAgYAvCPJ+BcmqCDyCdqwm4Fj1yJbzzmcH5eK/bHyeoRNJ0nu27nDAFDwBAwBNo2ApBrMvGKH9fgn+BxsvS5OKckHF/d+KNcVMID0VQjkVy00cowBAwBQ8AQMATCCJhDNoyIHRsChoAhYAgYAjlCwEg4R0BbMYaAIWAIGAKGQBiBKAkH3MDONWtiCBgChoAhYAgYAtlGgMBkygjybgp/drarYvkbAoaAIWAIGAJtDgElYSPeNvfcrcGGgCFgCBgCTY0As4K0DkFVuKkrZeUbAoaAIWAIGAJtAAEU4CgJ535WUhuA15poCBgChoAhYAikQ8D5hEtKSmJfNcrPz5cS91UlWxAjHWh2zRAwBAwBQ8AQaDwCBELnFRYWSYcOHZR4OzhChohTrTbS+CItB0PAEDAEDAFDwBAAAczRBaWlqxWNgoICyXcfU1i9OnpsEBkChoAhYAgYAoZAFhFwmnDB+vXrVfNt166dKyki7dtHteIsFmtZGwKGgCFgCBgCbR4B99UEcQpw9BsO0XWbq2TVqpVmjm7zr4YBYAgYAoaAIZBtBHD95nV0gVhFRUVSXl4ule4E/mETQ8AQMAQMAUPAEMgyAgRmQb6lpaX6WadS5w9mtpJFR2cZeMveEDAEDAFDoM0joOboVatWxczPEPL6FStix20eIQPAEDAEDAFDwBDIIgLRxTqyWIBlbQgYAoaAIWAIGALJEYhGZSW/1mbORrr0lUivYSIdu0tl+64SKXCR4vkGTZt5AVpyQyvKpap8reStWSayaolULZwqVcvntuQWWd0NgTaDAIFZyjT4gNvkAh0Q7tCdJNKxl1S176IPPhLJxyneZl4Ca2gLRyCvwA0ai6WquKNI1wES6bGhI+OFUjXtUxGI2cQQMASaNQJKwm2WgLc82Gm/joCb9SOyyhkCtSDAoDEStdxUlfQQcb+I+1V9PdaIuBbo7LIh0NQIRP/l8o+Y9bPaiqABVxMwTa7qNEjKemwhZcU9pSLfTdFyK4dVVH/bIu5jy20FH2tn80eg+p9rvlSKm9oghRWlUrR+iRQvnySFpT+LtBsostNoKfzhTYmsXd7822M1NASSIICCyK+iokJ/LC4VXdMiSeIWeAordPXwOUDAbcAUiwkaDRipdORb2mtHKSsskYo17oGvdgOSaL+m1yMBaPSE/TEEmgECVdUekzw3YGTQuL5dJ1nbsbMUF/eSTksnSNHy751G3FMqB20n+T++3QxqbFUwBOqPACTFj/e8sLBQv22wdu1aJeT659b87mCAodHRNDImrVwjjnTtrz5g2osG7Am4fLHj3pXON17mzlc4654jXyPg2FthO80MAf9+8q7yzvLu8g6vc4PJld22lbIO/bTGlR2cWbpTn2ZWe6uOIdAwBCBilljWwWfDsmhWd+kAgxq1JZ9wpOeQWBCWmqBdp0XnRWdmYgi0ZAR4hz0Rr+uymTalql0Xqey+YUtultXdEIhDACJmlcfWIm1vnrCbhuRFfcCYoI2APSS2beEI8C7jVllfVPOeV5V0a+GtsuobAvEI8Mnd1iDJzdGtoWVp2sA8YGEakhOCsKrWBkzxae6zS4ZAS0GAd7qMAEMkkieVThs2MQRaEwKthYTdP1ApWLlyZdyzqXKRlq3aPF3U3rU7FtWiQVhxANiBIdDSEXCBhQRrqbh3vSqfz5SaGAKtB4G4OKYW3SwCs8KKoCeoFt2w1JXXxTiqLzMNyY05WpQUub715oNEjnQLfNVFOjiln3uaStKVv2NvkdvcVO3hneJD0DfqHD2/e9/G1zpd+bXlPrB9lcz/fyL/s2NtKZvXdd7p2BQ7V7VICzXdEXxz+umnyzbbbJMzgPfdd1/517/+JXxdrmvXrvL444/LqFGj6lX+wIED5cwzz5Tu3WtcAmTQs2dPPT9sWB3/8aYpFb9oQ4OTOnXqpG086CDXkbRQaTUk7Pg3T/xch+qH0cqDo1voK1dT7XaOUM/YVWTnOsTaQCJzrhT53cia+3O5V1v5W7ug3VN2cZ1T+/iRYO+S6Pnhbt2Jxkht5deat6tWkZvE55XKWtM32wTx+DbbaoYqxrfODz30UNl0001DV7J3yKdc/TfW2TYkCGjo0KFy8MEHC2QXlC5duuj5fv2ikevBa/XZJ18GB0cddVR9boulhcBoW+sx6caa1vJ2HP+6Lj1eC4m0pXk5rm9qTc3tGp31XacXEe0YLTGVdE6iQafTKkmfbSlwz6tjmnLq0/509U3Xzmy3MRP56zvdMnm3Qc1PFynr55cmyxgySndvsnuycS5dHSmvuLi4zsWma09jtOc6V8AS1hMB1o7mH2s8D9czE0velAi8fqbIWjdPtIfTHjd15tvFq0SufFHk05+qZOy50Z74vD1FjtpKZIc7RSCfGw8VOcDNYGnnSPuDqSK/eaFKpq+KqNn1kv1EPpspMmqEyO1viyxf48yx+4q8N1lkf3cPOT47QeQ8Vway6wYi/89ZtXYaLLLIlf3slyJ/ektkaMfk5etN9fzT2dXzJlfnfTZ29Xfuzc9miVz7qsj71d8puGxnkV86bb+viz+atUTkVlf+ezOSl5+qvpXu30Dv4iq57ciIjNqIaXsir02K4lfP6lryHCFw4IEHCibVAQMGyJw5c2Ts2LHy6qvuxXACGf3yl7+UHXfcUUpKSmTy5Mny0EMPydSpUwVt97TTTpNddtlF2rdvLzNnzpQHHnhAvv/eLXCSQs477zzZbLPN5NJLL5WysjJdQOL666+XuXPnys0335zirvSng3WkTpT/yCOPaB25EyvA4YcfLj169JD58+fLU089Jd98841QLnL00UfLnnvuKf/zP/8jgwcPVtM9VoPly5fL22+/LU888YTG95A39d9uu+30+JNPPtH77U/TI8BAMMEcHe1mm75yVoO6IQD57j5cZMqCKGly128cka5YL3Lf+9E8xs8Qufu96P5dR4scu73I844suT7S3fvoyVGy6em+AQDJDXVm4FveFHnXETTnurhYto2c//Zv7tx380SOdz7SnRz5DuxQJQ+f4ny6bvGxm921z2c6cnaEf4UjxFTlR2sR/3ePYSInOYL3vz2Hxl+/b7Sr83YiY79xdXADA8r756kiwxzRj3Qm7T8dIvLDfGd2f1Zk2RqRG1z6wrxIQvvT1ZcS7zkmIgduHh1k3Ouw2S93VtD4BttRrQiMHDlSzjrrLFm9erX885//lBXuO+gcQ0rIhRdeKPvss498/PHH8vTTT0ufPn3kT3/6k2qVhx12mF577733lKjw3V588cVpy/zxxx81D++f3njjjZX4pkyZkvK+rbbaSokesue3xRZbxKW96KKLtB4fffSREiyDiT/+8Y/SrVs3GTJkiJIqA4Q777xTCKC94IIL1IT8/PPPaz7fffed/Oc//5HOnTvrff3791dfL+dHjx4dM1dTDuWPGzdOnnvuOR2YxFXEDpoOATfYL3BErKP+WC3MKRyDoqXsTHYEdKojIKTAmZnPGxX1sz7xZZX84aCIao4PTIyanw/dUuQbt7Twv76IpofQDnZ9w6aBWSynPSYycUn0+r5OK0TOf9qR7EKRcY6YXz7fEZTTlGctjUgv5/a64TWRt5ymPM79DnJ5oXVf+35EwuVHc0r8+wenSacSzM/7bCLy369Efv1yNNUkNxB44GSRPQZHZFFp9FxFpchUt+jK6IeqpHdJRL5b7j4mFGr/yZunru/tH4ns6dr0givngpeiec50+d0yJlXN7HxTIrDrrrsqMV177bWyZs0aef311+Wuu+5SsoHUdthhB/nggw/kvvvu02p++eWXsvXWW6uG/OKLL6qmiBaClrz99tvLRhttpBpyqjZ9+OGHSop77LGHjB8/XtiynjHElkpOPdWNFFMIpmHKZSDw97//XVPNmDFDrrjiCiVrtFmEdZLRtq+++mr1MS9cuFDLJG8053feeUfAgiCyRx99VGgnP84xIHnppZdk2223jSsHrRpiNmkGCDj+LQjbokNxWs2gllaF2hCYtqgmxWRHlAim5pXrovv+72bdo3tbuLiQsRf4s9HtoAAJf7M0/hpHE6rL8NsiR44jHIEjvz0g+oseOU3Vacn1kaPvdSZmN5Dwsour37/Pih5t4upc6Mr62g0cvEyY64aPzjA+3GnnT7zjBhSfOvLdVmRfR9ar10Xkqc9Efv+GT12zTVffjZ32n+8GMBOD5QT2a3KxveaAAFof5AQBI6wnjEkabRKtl8AjTM9eMEfzQzBRY54NB075tMm2lAMRQ75ETkNyn332mWrgydJzDkJFk/VCVPRf/vIXPfR1nDZtmr8s06dP133axkDitddek7333lsHFJT/5ptvqrk6dkP1DtHYyMknn6y/6tOKxQYbbKBR1MFy0mnv/l7b5goB5xOuUtalU4uKWy7b79q2lSCAdoxMqSZXSOq31VplSWGVdGsXke/dwBuzcH0ETRE59WGRd6r7ml4uIrtCX6ea98iXH02d+HdtudNaK2rOc+yFOqPlorF72bRnNO8ZbmBA0/78htP4X43IbgOctjzKRY+PFHnjR0fc1cTuy09X3+Xrndbh/i14oqasTRzJmzRPBObNmycjRozQ6GV8tGiWEA5EhqaHljpo0KBY5SE2SBAiPfHEE9U3etVVVwna5/HHH69Ry7HEKXYgQUzcmL0h8LfeeitFyuhp6sXPS3B/wYIFquUyaPBCHREGF2jpjz32mJraaecxxxwjmNE///zzGLH76GawQK655hrBFI2g4bPeA4MTtp6ouRbc59ikKRHQryjVEHBTVqVJynZNZwzSmiKkgzguXx/RoK2Dnb91/CyRl6ZHA7Hwr85dITLdkdjZe0TU37vdDbwHNcQZzCfV/nszq6TUlfF/R4jcOU6kfZHzR+8fkS9cWYc/4oK6kpSfKq9U55c5Qv7IKQtjnB97wcqoz5cpWqWONN+f6fzIW4hcNzqi2vBrLq5mdbX2j284XH5t9R0/w5WzgyvHBZgRkHbh3qlq1bzPh8bVzbuydajd8OHDZb/99oulhFjQQjE5X3bZZfLFF1+oyRVfKv5fPnc3ceJE2WuvvWTJkiUC4UFiaLCQWHl5uZJ27969lciDeccKSbKDX3j27NmCP5p8Mfs2VNatWydff/21kjp54dsmEIu2TZo0SXbffXc5//zzVRvG/O01/lWrVgn30kb8vJikv/32W73vnHPOkWeeeUb93ieccIL88MMPSszkx+DBlzNmjPlYGvrcMn0fAyRntDRpSQgQxctiDOurNcc1NQNtbUZp9THbFS7NQ87XedZIkftPctHD1zjSfapK7j42ogFUxAMsdT7V/3laZPaaKAETaU0ZQUl2juuTV0Tk7MedJuoCo651UxZdLJRMcAT8uxeidycrP5iv3y8NaL6ci7Wh+vzZ/66Se1ydz94jWgYaLeWivc+fVOUiuSPyC0eeJ+wUJeGb3xD5sFoLjm9/+vqe93SV3HdcRM7f05WTJ/L2DyJ7byyyxhF+y5bQA20hjaGD4keAEz8vBGER+UzUMBHS+FYJXIKAMOEit956q/o9iS5Gq8THShQzZIeGiU8U0sLnip81OHeXcxA12jTit+y/++67ctJJJ6lftrbv2kKUQYFgEb+ljgSEMd+XOqLR3n333VofzNH4sBkgHHDAAUrCLCKC5o7g1z7iiCPk97//vdaHiGkWCKFN5AUBe3/43/72Nx2sMBDhGgMRMPP10AztT84QwILBc0DnwfIc6dWrV9y/UJatXLJ0qRx55JEaDp+zmuWqoFHuJc0v1tJWbHG+rFviAsSrCS1XVch1Oe2cT9VxipQG2slUpXb5VbLAaauZEOboFuRVyaIk+SUrvyFl6txeV90VIdImL+b2dnGm9fnOJxweRCQrP119e7h8+DeSrC0NqXeu72Fp9OLulbLBlAe16KqydVI8/uFcVyMn5dGZoeGiIULYYcFMTacXJhzuY+oORBk0E4fvDx6TF6SJT5noazTsTIif2xsmbfKmTOYJM3gItw+/N+0I1p+0tLe01I2uQ8J0LNInuxZK2uwPwcIHrzX7ylZXkOh4Itsd50ZJWM+rOTrUBPeQWrWsd3bGds5uSjtRKVF5AuTUGtu+Nkn70FJXVGTuWWM2TmXOTlZ+Q3CmzqmEAUZpivYkKz9dfReXZQ6XVPXN6nlGXLzbiOusIhVRDSx6onX9pTMOr38fbCEEFSQpf437ILa6Cj7We+65R79l+8orr2SMgCk/Gfn6eqWqP9fR1sOCqTqVeJN2qust6Xx4QNKS6h5f12TmaPdytmbJW7NMqoo7Or5wy7ZVlEqkXSf3UfQW3um25gdmbas3ApF2VVLo3m2VqkrJWxud7lLvjOyGGAIQ5b333qsa91dffRU7bztNg0DQRdA0NchcqQk+4arWrgmvWiLSdYAiWLhukazv1FmqXH/V2k3SmXtlLKfmjACm6Hy3FncR73m1RFYnmXPmL9q2Tgigkb7//vt1SmuJso9AayJhDFdx0tp1wqpF0yWyJqoZFC7+RgrLVktBD6cYu87LxBBoyQjwDvMuF7t3unj5JG1KxGnBeUtmtuRmWd0NgTgEGBClM+HHJW4BBwkk3Mqt0VK1bI5UrYquaBFZOUs6LBwfI+I890m9SGGUkJnmoVM9WsBDtCq2PQT8+wnx8s7y7noC7rR0ghSW/qyg5JUulsjK6DzStoeStbi1IQABE2RXW2R6i2m34xn3YRr30e/gFxxa66TZwFOpmvapREqcytCxl+Q5bbhk/Qop67GFlBX3lIrOHTRYK/Y91tZuGgjgYrstCIHq0I18cQFYLggLHzAmaDRgT8CyepHkzfqiBTXKqmoIxCNAABY/zM/80IBbDQG7pkbcaLogjoBpf1tQ/wjO+nqsRLY8WIkYjbiIX/zztyNDoMUhQLysxsw6aw/vuLh33cQQMASaJwLwb8KnDFt7XFbsUXgiHrqTRJxGXNW+S/SS2vdM/Y3hZDvNHwF8SNWRhcQ74G7B2mME3PwfndWwjSOAOTqq+dZMS2o986/q8HAh4m/dCjtd+0uk5xCnFXeXyvZd3eyldi7ENCFwvA4ZWhJDIMcIVJRLVflaYeqdOHN01cKpUrV8bo4rYcUZAoZAQxDAHew+ZYjNveZ2VlRpa6LBWi5gy0sADn/KtoZAs0agemmOZl1Hq5whYAiEEaiSvOhXlAIXgowcOG27hoAhYAgYAoaAIZBJBCIsKRzS+9qgJpxJSC0vQ8AQMAQMAUOgLgjg/k0yTzhEynXJydIYAoaAIWAIGAKGQL0RSCDhtucRrjdmdoMhYAgYAoaAIZARBNwnYMO0Gz7OSDmWiSFgCBgChoAhYAgEECAQ2n0BNmR+Ng4OQGS7hoAhYAgYAoZAdhBQn3B4SlKbmiecHVwtV0PAEDAEDAFDoFYEoppwWBE2TbhW4CyBIWAIGAKGgCHQWASYEZwwRSnEyY0tw+43BAwBQ8AQMAQMgaQIJJmilBiolfROO2kIGAKGgCFgCBgCjUQgYYqS+YQbiajdbggYAoaAIWAI1BGBvPAMpXCgVh3zsWSGgCFgCBgChoAhUB8EXAxWXvj7wbZ0dH0QtLSGgCFgCBgChkADEahKsnY0X1UyMQQMAUPAEDAEDIFsI0Bglk1JyjbKlr8hYAgYAoaAIZCAgM4TDpujxVg5ASg7YQgYAoaAIWAIZBwBZ3guCH/KsCmioxkN6IggLxqs7Y+TNZhrJoaAIWAIGAKGQCoEUvEY5/21yspK3ffHqfLK6nlHZwWq+AbdwDnkuDxHuv5n5JrVR22ZGwKGgCHQZhBIxSfB8/n5+UrCkLH/5R6gKkfCLjorqA1H9Dj7VQEAT8DZL81KMAQMAUPAEDAE4hGAlOEitvwqKiriE2T9KJJojs6FS5hG+4ZnvY1WgCFgCBgChoAhkAYBFEKvJeeSiDGFJ66YFf60YZqKN+SSEXBDULN7DAFDwBAwBLKJgNeK4ahcSgIJZ3OaMKMN04Bz+XitLEPAEDAEDIG6IuCJGK7KjehiHfFFVWXRHh1U+eNLtSNDwBAwBAwBQ6DpEYCIc0fCao4mMKsmJDqSJXN0bhvW9A/SamAIGAKGgCHQMhHIpcJY0LNnD0VpzZq1snr1KhcsXUPImYQPEuZnYggYAoaAIWAINGcEPF/lYg5x3urVpVJeXi7t2hVH/bVZQiZ36n2WGmDZGgKGgCFgCLQZBHLFWXlr1pTKypUrFdjCwiI3ebnNYGwNNQQMAUPAEDAEmhSBPGckdhOUK7USai3OUni0maKb9Dlb4YaAIWAIGAL1QCAXnAX/5rmVNOOrlaUVs3LRoPiG2JEhYAgYAoZAOgSKi4vTXW7T13LBWfBvfknHkj8THd2hQ3spKytz/uEyWbNmjWyyySayYMGCjD2Eus4PLigokDPPPFPX8pw3b15c+SeeeKJ07dpVZs2aJQcddJDsu+++ssMOO+hv44031sCv+fPn6z0bbrihHH/88TJjxgxtT1xGdmAIGAKGQAoESkpK5Ne//rW66RYuXJiQCl8hv2DQDsd02sFzCTc24sS2224rJ5xwgnz11VcawxM+bkjWgwYN0r6WFaLmzJkTl8VWW20l9Ldffvmllhd3sZEHnguyhVUjqxd3eyZXz+rdu7f88MMPwvsVI3gXq+zepGjEso9bbmpgCgsL5cgjj5TNNtssDgwODj30UNlxxx31/M477yyHHXaYEvEBBxygL+i1114rxx57rF4fNmyYXu/UqZMe2x9DwBAwBOqCAIQKUfBLJhDUJZdcIh07doxdPuaYY5S0YicyvDNw4EBVJlCQkPBxQ4orLS2VJUuWyPLlyxNuLyoqStn+hMT1ONG+fXvFzvfj9bi1VSZVc3REfcBVsmjxYn3IMYZuAU1m9HbcccfpDwLmBT3qqKNaQM2tioaAIdBSEMA6l0xQGLx47dgfB7fpCN0TfjB9sv0BAwbITz/9FLsUPuZCsD6xhIGdcDsWLVokDz74oHz//feBVIm7jal/bXVKLK3mTLi+NVdEBwhgl0q4N8hltCFd+lT5ZP+8+4pSVegrSi0xPBqTwccffyyff/657L777tKtW7fsY2clGAKGQKtGYNNNN5Vdd91VNd65c+fKyy+/LJhw99xzT233qaeeKt9++626yNBMkfPOO09eeukl6dGjh4wcOVImT56sVj36KPZff/11Ne/ii8WdNmLECCUUFAquoZmSF7/x48eri7B79+7OXdghRsLhYzRzLINdunSRVatWyYQJE+STTz7RfhCX3MyZMwX3HHn8/PPP8uabb6qrESvhySefrOVOmTJF6x/+g5Vx6NChamafNGmS3stn/yC5/fbbT4YPHy5ozdR/3Lhx4t2B22+/vboJKWPZsmXywQcfyOzZswXMkF122UU233xzHQSEy6Q93A+GaOn061988YUmw6S71157Sf/+/RWbqVOnyhtvvKH7mOjBnHKwhK5bt07ee+89xXjw4MF6/Omnnwq/5iO6bGUoMKuFLqjBwwboFStW6K/5gGw1MQQMgZaIAEQIyeIX7devn+y9995CnApxJshHH30kX3/9tRIERLN69Wrt9CFS/H7t2rVTAvvwww+VgCEdiAvZaaedlJwhBMirT58+sWsQ6m677abnSOsJ3mvCweOePXsKRAn5vv3220pae+yxh9YXoqQeuPZ+/PFHrW+vXr1k9OjRwiDAX08XnAXpUX/avfXWWwuxNwiuwS222EK1aAgWwhwzZowOWLgHrPCnv/LKK7J27Vo5+OCDdbDhCZC2MFAIC7FItAcCfffdd7Vd++yzj5I9baEM2kydvvvuPfATUgAAQABJREFUOyVy6oJ4zOGCd955Rwc75MV5sAEjBlAMRpqL4P5NsLM0tU+4PuDwD+OWW27Rl4kXE5PDU0891QTfhKxPrS2tIWAItAQE0MDef/99rWrfvn0FAiNYlcDQjTbaSIl16dKleh0fJ2T2zTffxDVt7NixMdKGDNAcEQgaQUOePn26BuzoCfcHTRVt1wdLYXqGyBY7lyESPMbE+ve//10DWcmT/hstEVL0ga0MFMgTgYggJkgfhaU2QftHeyag6Fe/+pVAsBA62jGaMVooAuFC7vTD+JoRNGYGJPTJ+ILRahnUoMlCwuyHBZKnrc8884wSMYFoaLi4GsmbfJ577jnxmjtaOBYLBhReXnjhBS0LbEaNGqUDAZ4beUDYBPf6Ovp7mnJbU/PqWvgAraasFGUn8yWEzzHy5AXDDIMWzD+aRx55pKmrbuUbAoZAK0AAAvECAUKi9RXM2F4w1dJPkc9nn32mpI5mxg9NGs0PgoPYPblzL+SDidUrSMFjtDqIBYUkKEF/aLAOnpgh6bqQsMcAAmVlRYgNdx8KT3D2jN8nX9oAeaIpM+hYv3699tNop7UJgw/ajiaMsMXViGBqRnwb2AdTLAzc58W3i9k+iCdc6tEcpYDorPi5wk1Lw4yCeOA8QF4k/+LxMBkFBR8A6QgsQBjZMWIaMmSIjiybI9hWJ0PAEGg5CPi+J1WNw4E+4WPuw3TqNVoICiKAFCAItD00OIgZIkZDhcCCgtZGFLY3RYePt9xySyXgt956S++FIH/xi18Es9A6+BPUAYH0Gyr0u2i5QeLz+37wwIACMzsWBPy/+Hjx3/opX5B4MoH0GWSAC6RPOjRd2u8HBLQBjR5hn+fUmPYkq0euzsFxBfEE7IpuWg5WQBn5HHjggXLFFVeojwUbPy8WD977FMIg3X///XLzzTfLueeeK5dffnnsMqMn78fgJC+CN2XEEtmOIWAIGAJ1RMBrVvh18RejaWKVw0y8zTbbqK/SZ3XIIYeoz5g+DEWC4CxIg/OQL+RJfvRtXnPDp4tv9Omnn9Y8yQtNGIGgEH/s57F27txZr3ltURNV/9luu+3UxMsAAH8zig4mZpQaL5Ad84Jpx7PPPutPJ91ST0zyDABIT36QLOepF6TJOg5ow7TXa6CkIw3kijmfwQlBY8H20j8TrMYsF3y+7IPbiy++qERMXuSNJQHzP0FclOnLSFrhZnySd6EgqG1S19pGf7lozz333KNmD0aHRCcimIP+7//+L0agPNCg8LB5oXHi82C8EB0YlFdffVXuuOOO4CnbNwQMAUMghoDvA/2WC5AdRIlMmzZNzaAEPNF/QsITJ07UyGkCkryWRlq0N85xL4RDoBJCYBFaLdovggZJ34RgrsbMDDFC7JhkmU6EhI/xQRMJDAlSF4iNfD05cw/1g3zJj3KIwqb/DPqluZdy2Xqhzr7N/pzfQoqYwRmIIGii1B9TMNr8YDfAgKQJ5oIgiVL2JmvchiyydPTRR8utt94a117aw4AFqyZ5QNpEiZMndcEfTFQ5fmWPKXXxAsEHn5s/z5a8gls9aOI/4B3p1au3C4+uiZCuqsKZvlQXzAgHGTSmvjjQgw+4Lnnx0hAMAXg+KKEu91kaQ8AQMASyjQAmUzp8T3iYo+njOGaqJGbYm266SafwUBfv5wzWy0cmh6+RFyRDMBR9n9dOw8c+L+JluCeYD33naaedplokSgr1DV739/qt759TkZhPF9ySJwL5hYX+m3pRZjhPriFB7IKET13Q1BksBM/7MtKV69M0dkudM6lh42J9/vnnldM81pieHYI1BEyl448a24ya+2lQTcE159Pt8YCCPuB0ae2aIWAIGAK5RCBMPMnIgvqkI75U18gLXzBBp5h1kfCxnqz+47W84LngPn2pJ7zg+eB+mCiD11LthzEIpktXZrguYeyoizf7B/P0++nK9Wkau20IHvUvM8kUJQK1siG5aVA2am55GgKGgCFQPwSYfoP5uTH9HlNqCN7yZtzwcW01whTO/abI1IZU8uuNeXbJc4yexQrgFVK2CVOUslVwukrZNUPAEDAEWhMC+F59pHBD24W2yBxiL+Fjfz7Vtr7pU+Vj5zOLAM/FkzA5OydGfAHBi/FXGncUNjc0Lje72xAwBAwBQ8AQyB4COeEsx7+xryj5pjhTfFYEDdu07KxAa5kaAoaAIWAIZBCBnPGV+3aD+wxFPOtGv6qUwdZUZ0WjcjKyyHzVLUdDwBAwBAyBNoQAXJUbpbEq0RydTZxz17BstsLyNgQMAUPAEGitCORSYcT9m2COzuaSWZAwTuncjDBa6yti7TIEDAFDwBDIBgJwExyVM6utM0QnmKOzTZA00Ig4G6+P5WkIGAKGgCHQUAQ8AcNPORMXmFWg0dFBt3AoWjoblfGNZIUXfiaGgCFgCBgChkBTIYDm6y21ua0Di3W46KxgcFZEj7NfDa8NM/qAiLM1NSr7LbESDAFDwBAwBFoiAvCPJ+CcmaDjgEqybGV43nBc+gwf+MZDwOqgrtaK/XGy4oysk6Fi5wwBQ8AQMAQ8Aqncqpz31+Cf4LG/N5dbyk9cMSs0ZSkXFfJANM1IJBcttDIMAUPAEDAEDIFEBBIcspGgfzgxvZ0xBAwBQ8AQMAQMgYwgoIt1xOfkvnUUf8KODAFDwBAwBAwBQyALCLBYR0giTWCODlXBDg0BQ8AQMAQMgTaBQF479+FkL53dtys7de5ikcoeENsaAoaAIWAIGAJZRCCvY0mJFBcXaxF5kTwpLEyI1cpi8Za1IWAIGAKGgCHQdhHIIzK5qKioGoHokl2cMzEEDAFDwBAwBAyB7CKQV+6W6MrPz4+V4lezip2wHUPAEDAEDAFDwBDIOAJuhQzJy3cLZFS4ScsmhoAhYAgYAoaAIZA7BNzSIawYmSfr163LXalWkiFgCBgChoAhYAjoRwsLSkvXyLpqEm4qT7BfptJ/zMEfJ3tGtmxlMlTsnCFgCBgChoBHIFVck1+dkXTNYdlKzNEFa9as9vWW5cuWxdbVjJ3M4g6k639GrlkE2rI2BAwBQ6ANIZCKT4LniYWClP03DJpm2WS3dnRV6CtKrlY5eVQA4Ak4JwVaIYaAIWAIGAKGQAABSBkuYssv94HJSb+ilP1lK2m0b3gAD9s1BAwBQ8AQMARyjgAKodeSc0nEaOIJy1amsqVnChUj4EwhafkYAoaAIWAIZAoBrxXDUbmUBBLOph7MaMM04Fw+XivLEDAEDAFDoK4IeCKGq3IleURnxUv4OP5qY46CKn9j8rF7DQFDwBAwBAyBbCAAEeeKhLUsJgvHSZY4OJcNi2uPHRgChoAhYAgYAvVAIFcKo/qEIcegZMsnTDnhsoLl2r4hYAgYAoaAIdAcEMgVX1GO+4BDfJNDnBx/sRFHuVLvG1FFu9UQMAQMAUPAEFAEcsFZ8K/zPsezcPyRPQ1DwBAwBAwBQ8AQyA4CSaYoJQZqZaZoM0VnBkfLxRAwBAwBQyD7COSKsxLisLPlE84+ZFaCIWAIGAKGQEtEoKCgIO6Tui2xDQ2tc35Jx5I/h29es2aNbLLJJrJgwYLwpQYfA3J9Rxbbb7+93HDDDfLxxx/LypUrY2VvuOGG8uijj8rgwYNl8803l6222kpKSkpk7ty5ug4o148//niZMWOG0JagJLs2YsQIGTNmjHTu3FnvCaa3fUPAEDAEDIEaBAYNGiRbb7217LrrrjJw4EApLi6WFStW1GvJR79ehEYHuzm555xzjnLOV199VVNQhvfgiRNPPFG+/PJLKS8vr1PumVw9q3fv3vLDDz8oV8W40MVFF0ho7ehwoFadapqlRCeddJJ06dJFDjroIHnwwQdjpQwbNkz3d9ttN1m7dq20a9dOj99//325/vrrheuHHXaYvPrqq7J48eLYfeyErwHMlVdeqXm8+eabcWntwBAwBAwBQ6AGgZ133ln22GMPPVFaWir9+/dXRQiF7fHHH68TubVv314uuOACee+99+STTz5RxYn7V6+u+ZhQTYmZ2ysqKmp+2rbj34JwYFYk0jxCswYMGCBoqMioUaPk4YcfThhpXXjhhaq5MsI5++yzZffdd5cnn3yyzk+tQ4cOSsBowNdcc41MmTIl7l5GeP4zj3EX7MAQMAQMgTaGQKdOnQTFB+3w2WeflZkzZ0rHjh3l8MMPVzLedtttZfz48XGo+CUga9Mon3766bj7OPBzdVPdizZJ/sm02nTXEgpq0hPuK0q6YFbz4N04KPbee289fuONN2S//faTbbbZRj7//PO4NP5g4sSJ8txzz8nFF1+sxJ3qofn0bDGPX3755YJ5+u677457edC8jzzySGEgADE/9thj8tlnn8lFF10kW2yxhY7iysrK1Lx+6623ys8//yzXXXddMHvbNwQMAUOgVSFAXwnpvf3220rANG7VqlXy0ksvyemnny5DhgzRfhQyHjlypEyePFk222wzJW32X3/9dbU4nnrqqYrLLrvsolo0Vs7jjjtOli5dqmnom+nzhw8fLmivc+bMkXHjxsn8+fOlW7du6mqkz+3Xr5+adufNmyfPP/+8uixRnPbaay/ZaKON9N6FCxcKFk7yaI7CYCEvao4OVi9+8Y7glVztMwLaZ5999EF7DZjjdILZGsFEUhdBc95uu+30ob/88suxW3h5MJXwQjz00EP6IP/whz8oWX/33XfSt29fvY8b8JsPHTpUfvzxx9j9tmMIGAKGQGtEYIMNNtBmTZo0Ka55+IMhOX+d+BxchPSNH374oZIxsTsQK8rLp59+qvf/9NNPao7mABM1WjVy6KGHqrLz/fffywcffCA9evTQmB2uQ9Dkj5UU//HXX38tffr0UR819xJHtOWWWwp9Ne5J7sE12WzFKcAJ5uhsRUfHHNF1QANts2fPnjrCWrZsmUyYMEEYNWE+DpLsscceq+ZoyBBC5WXgwey00061lrLppptqGnzCjO689uw1cMgfUzSjr9///vf6cMeOHSu/+tWvdKSFL4MRF/e99dZbtZZnCQwBQ8AQaMkIdO3aVdavX58Q7Eqbli9frpqwj8/hHP3lDBcci0CcaLavvPKKfPvtt9p3QsLsB4W+GPKG6LGCImizo0eP1iCwRYsW6TnInR+CxRItHNLFWurzRCsmBgiNmf36Sn04q755x9JrYBaKb9Ac3fSKcGzkAvD4g4mCRtBSMWl44RrmDl4MHsgTTzyh5hF/Pd0W8wim5oMPPljOOOMMuf/++zU5gQfIjTfeqFv/hwdNpDXBBJAvIyx80IzqeAFNDAFDwBBozQgQ5ArZ0fdhhg5K9+7dVUEiUNYLs1W8oMzQj0PGlZWV/nTCFnMzRBycmeP30Yg9CS9ZsiR2L/VigIAQrX3ggQeqZh1L0Kx38AmHoqMjetx0tWYkReg78t///le3+GPRevfdd984EvaBWZqonn/uuOMOmTVrlr4Y+H+nTZumGi1l4U8466yzVMtlNMQD9lOkGAQccMABct555+mUptdee62eJVtyQ8AQMARaHgKeVHfYYQf10foWoGkSJe21Xn8ea6b3xUKgKEtYMr22DNmGBYUGkobUvfh9XIS1CZHbWHMJ0IW8UZTwUTdfSRIdrYFaTVhjT8C33XZbHOHyIPALe79DY6vIgyaqjoCqW265RSB0zCPMSeYlu+yyy/RFIyCMkdXtt98uEC5+CqIC99xzT53+hKncxBAwBAyB1o7A1KlTlVTpHyFSgqPQiiE5+lP6zqAccsgh8sUXXwhR1ZiisT5CkPiF6XtRdiBp+lMvXEM5wq/LlCU0a/y8nJ89e3atZmXcg/iNiREifoeZM81ZdJ50uIIJnzYMJ8jyMf5cAMchHxTvd+UF8MLIKp2ku+6vYcr461//qpHOREtDtIyi8BlzTDDBiy++qBF2viwi9RCi7rwvWU/YH0PAEDAEWikCEOd//vMfJVMIFIsgShPaK7NTvKbsm4/JmBgb4nUgWvzBCPngu8X0fPTRR+s5+nwv9Ldo1XAByg7XyD+4IEiw32UAwA959913dX///ffX6VRhV2EwrS+vqbeRXr16BT3CUuUas8Sp/Zhov/nmm4zVryGO8YwV3oCMMEMzmsL3wUvjpbCwUH7zm98IvmNWecHXYWIIGAKGQFtCAFMy6ytgXg6vpYAJmEDam266SWeXgEs4Dee8OTpIqJz3gkaLBPtffy3dlr6bqU3clyrvdPcHryWrd/B6ffYJOGYqlePcwOqRao6Oz6aqqe3R8dVpsiPMBERmBwXTC3PaCKdntGYEHETH9g0BQ6CtIAC51cVHm47EaiPI+pKvx56+O125Pl1TbSsqKiXPDRQcE7sqEJgVkkhcqHToYhs/5MHeeeedGqRlvuA2/jJY8w0BQyApAkwRwvwMGZokR4D4ZygYSSDhKmXn6EX7G48Avol33nkn/qQdGQKGgCFgCMQQQEOui5Ycu6EN7ngCpul54fYHL4av2bEhYAgYAoaAIWAIZA6BBBI2C0LmwLWcDAFDwBAwBAyBdAjkRWKW6epkzeQrSukqbdcMAUPAEDAEDIGWikDQW56XMC+4iVfMaqmgWr0NAUPAEDAEDIG6IBB0++YlKMLBq3XJzdIYAoaAIWAIGAKGQIMQSPiUoYWVNwhHu8kQMAQMAUPAEKgHAlGjtJszHLROM3/YVOF6oGhJDQFDwBAwBAyBBiAQ5dqCqtBXlNwM6wZkZrcYAoaAIWAIGAKGQG0IFBUVxpRdlF43RSlEuqYJ14ahXTcEDAFDwBAwBBqJQLUmHM6lqX3CHTp0CFfJjg0BQ8AQMAQMgYwhwIcnmlzUFZzkAw5N7RFuFuA0+dOxChgChoAhYAi0agQwQjvCTVysIzxnqVWjYI0zBAwBQ8AQMASaDoHExTqaWhVuOiysZEPAEDAEDAFDIKcIuClK8azb1D7hnLbeCjMEDAFDwBAwBJoQgbzwjKQQJzdh1axoQ8AQMAQMAUOg9SFQUFAgO+64o2ywwQaJU5RCE5ZaX+utRYaAIWAIGAKGQBMjgBWadToSPmWY8FWlJq6oFW8IGAKGgCFgCLQ6BKo9wQXhhplPOIyIHRsChoAhYAgYAo1HoLCwULbddltZuXJlbJ2sJF9Rig/UanyxloMhYAgYAoaAIWAIVFZWyrx586RLl64KBjFYSb6iZEAZAoaAIWAIGAKGQKYRqKiokLlz58qMmTNiWSesHR3+qlIspe0YAoaAIWAIGAKGQKMRKF29WpfFYnZSgjm60blbBoaAIWAIGAKGgCGQEoH27dvrp5OSmqN1McuUt9oFQ8AQMAQMAUMgMwgwTae4uDgzmbWAXPLz83Vu8JAhQ2O1TTBHN6fo6O23314effRR6devX6zC7Gy44YbywgsvyBVXXCHnnHOOnHHGGTJy5EhhArS/zvkePXrocfAP94avjRgxQs/tvffewaSN2j/ooIPkyCOPTMhj55131vomXGjkic6dO8t//vMfOfTQQxuZk91uCBgChkBuENh3333lggsukO7du6cssKSkRC655BLZfPPNU6ZpKRfy8vJk4MCBsmqVi452UuECtRLN0c0oOPqkk05yUWRdBEILyrBhw/Rwt912k/32209Gjx4tv//97+Wyyy7TjyVz/bDDDpNOnToFb9P98LXevXvLlVdeqfnMnj07IX1DT0C2Bx98cMLtm266qdaXEVEmhRElg5BM55vJOlpehoAhYAgEEVi6dKksWbJE1q9fHzwdtw9x0a+1hr6tvLxcJkyYID/++KN8+umnsmjhgsTo6IhbwaM5yIABAwQNFRk1alTSB3DhhRfKmDFj5I9//KPMnDlTdt99d9WS61p/vl0MAaNFXn/99TJlypS4W3NpJikqKoorO3jA3LJUL2C6a+TBfaRJJZSbKu9U99h5Q8AQMATCCHhFIHw+eOytlf7c559/Lv/4xz+cZrjKn2rwNpx3gzPK4o1YmomQDoqz34YWqmweHCzeNPzGG2+olrrNNtsIDyyZTJw4UZ577jm5+OKLlbjDjUx2Dw/s8ssvV9K+++67Zfz48bFk3pTMQABifuyxx+Szzz6Tiy66SLbYYgs1n5SVlanWfeutt8rPP/8s1113Xez++uwMGTJEzjrrLDW1LF++XGgvJngeFlr72WefLRtvvLFQ3hdffCF33HGHTvTGRMMgZIcddtC0H330UVyxkOu5554ru+yyi/pcGH3deeedwsgTk/Upp5wi3377rWDyf+KJJ/QXl4EdGAKGQJtDAFMpVsRJkybJO++8Ix07dpQTTjhBp9W8+OKLSfFAWdlrr71ko402EvqdhQsXyptvvilz5syRbt26yfHHH69KEq5AFB/6S64vWLBAttpqK3Ul3nfffQnklLQwd3LLLbdUheu7776TcePGaR70g5i058+fLx988IFMmzZNDjzwQDX9PvTQQ5o3gwT6PfpA3JnNRZxPOF6qwqQcfzknR5gf9tlnH31wDz/8sALIcTrBbI2UlpamSxa7Brltt9128vrrr8vLL78cO49vGR8FD4qHx0v1hz/8Qcmah963b1+9jxs22WQTGTp0qJoWYhkEdrp27aovGHn6X//+/WMpqPP//u//6osC8UKKxx13nBxzzDGa5tJLL5VBgwbJP//5T31pMb+j+SOY3snzrbfekmeeeUbJVi9U/2FAsv/+++tLynXaetVVV+lV/mFA4tSFcr/88svgrbZvCBgCbRQBXHLMY+XjAhAyRAYRf/LJJykRYSAPMdI/vv/++5oeIkdQduhrNttsM+0nURZ69eqlLjnIm2v86iqsNkWdIHLKgvgPOOAAWe2m/DBooDxicXr27KntoA9G0UGILcL9yGIZzUkSlq2MhBTjTFUWzY6RSF0EbRMQX3rpJVm2bJna0NHoGEUFSfbYY4+VGTNmKBlCMitWrJCvvvpKdtppp1qLwTeL8FAwx3rt2WvgkP+6det0ZIW/mRdt7Nix8qtf/UpHfbyUjP64DyJMJrxc3JtMwIIXF0LEHIOWj6aLSZ06PP3002oqJ127du207WiwED8DA9o7zo0C77rrLs2eFwtiRjA/77nnnjJ58mR57bXX9Bz/oMib9nq5+uqr9WX2x7Y1BAwBQ+CVV16R0047TQf8KERorWi39B19+vSJAUTfh8ZM34UCgUCsWPAgvKA77+uvv9Z8SIPpGeIM5sV5+vfhw4ezGxMGBfhREfp1SBXLJxZDVp+C3JH33ntP02FNPOKII5R44QL6UtJg0aTP5x5fV70xzZ9cBSknkLCjyjTVys0lP4oi4Ap/8ODBg7VgND80Vy9cA2Cc+h9++KGaVOvqW4CgeDAETxFdff/992u2BFQhN954o279H0zTa9as0YcN+TI6hNRwrvPgkwmjtV//+tdxl0499VQ56qij1IQMMSKnn366/nxCtF+EQQam8aCvg8EJ2jgDh6APG0e/F64j+NRvv/12f1q3jEK9MOI1MQQMAUMgiMDatWsFjRWiZI1jXFnI1ltvre64YNqpU6cKfSPaKXNfU0mwr/GaaHj2CsdESweF/p54HwQCRsgLMkU8aZ944ol67P9gmoYXvv/+e+UIFBncetQ3qMj59E2x9UybQMLu40pNUZ9YmYC166676vF///tf3eKPhZB4QEESxieKJtwQwbc6a9YsJXjMF/gQ0GgpCxMHflpGemiiPHxdcNsVRPm8nOedd54GdHlNM1kdGEnhyw2K17g5519GgsP86Axy5z6ImMEIGjeaMiNR/CaMDPF7+DQ+b0/cHHMdoW733nuv7qM9o5njh8GkY2IIGAKGQDIEsKThY0WYYYLfFu2Tvi/Y//p799hjD+2PnnzySe1fUE7CfQzKgxdPvlg5+Z6uF/q2W265xR/Gtn6WCy5CyBc3G4oP/Tf9Nlo3faMnZvpQFCYEDRyLI7NoGCRw3FyEGGiIOIGEqxzpNKV4Ar7tttviHjgjG/zCwYfWmHrywDBzEFDFg4fQf/rpJ/n444/1BcS0i7mXgDBGeWiUkBojK0ZmmHsXL14cGyU2pC68ELws+KB5gRmAEDhAGffcc49myQs4ePBgDW4AAwYdjFS/+eYbHQwQ3o/2T/CEF8zo+Hl58RYtWqQBEviZCYxAEzcxBAwBQyAVAphw6Wv+/e9/q7WPfpe+kb4mmaBYYK0jxgUrHKQdFtxn9Ftop1gb2cdSWJ/+nOBZiPfkk09WkzMBs1gDics55JBDtN9EGaF8+moGDpRBH4gbD0WqoUpbuD2NOV6/vkzy8uDZKNcmBGY1LQVH7f5oj0S4BcX7Xf0IjWvp5pbVdt3fC5H+9a9/VY2XaGkeHoSI/4BjiIyoQPwiXiBnhHNBzVZPVv/hJUsmEKQXXo5rr71W28EggGAxXhKimHl5WHwDEwr1QDtn5Ojvv+GGG9QfQyAXWju+GcSPAJlyBRFznYnuaPOY2PGbI+STK5+HFmh/DAFDoNkjgFYJieFPRdnAP4w1MGwmDjbk3XffjWmoBI8mc89hQoZ8ceXRN2Ll9H1kqj7Ul+H7Kbb0gc8//7zGxRx++OFKtChOBJliOSSeCPO5tyySBwFjCOe8tqwnmsmfiPMRxtmfKyurXGTwEo0wQ9vKlGAO5WG2FKGujOzQMn1gAHXHVPOb3/xGXyhW3vKm38a2iyAG/LxhfwXlYUZhFOdfxmBZXKOu4ft8GnBnlJrquk9nW0PAEDAEGooAfRB9DX1lkFSJQSHIC0WGOBz6Iq9INLSsZPdRPoFdEHuwfPpUyJlgsQceeCDpACFZfpyjv/XKWqo09TnPAIEBRPfuPeI04YKIU4njpiVlKTyaBgFUSxE/6grWF1/Dgw8+qKTIS5UpAqaMVC8mVoGwXzlYJ6/5Bs8F93mJMvkiBfO2fUPAEDAEQID+MlUf5hGCHIME6c9nYkv5TFMKCooNayWgyKAdJ9PQg+nD++SZLSFnz4YFcQRMiVlaMSubDcoWUOF8eckwFQcjBsNp7NgQMAQMAUMgigB+ZNYp8EGoucQFrRz3IoqKj7CuT/nZ5CxPwNSnQOk4QPgtSFmtD54ZSYtGyoRwE0PAEDAEDIHaEUDznT59eu0Js5CCsr0/OAvZZyzLvLDmmy32b44O8YyhaBkZAoaAIWAItCoEss9ZUe03LxLyAWfLbwu5Z4vgW9WTt8YYAoaAIWAINCkCueGrqFE6ryrsA86SM5pGZX9k0aTPzQo3BAwBQ8AQaAUIwFW5UhrdPOGAQxjwsugUzmXDWsF7YE0wBAwBQ8AQyDECuVYYExbryCb7Q8I4y7NZRo6flxVnCBgChoAh0EoQgJvgqGxbbYMG5wQSDoZOZwNXGmhEnA1kLU9DwBAwBAyBhiLgCRh+yrYEedatYBk8pOjwcearY0SceUwtR0PAEDAEDIGGIZBLAtYaBmg2cbGOwMWGNadud3ltmO9V8stWVHbdamOpDAFDwBAwBNoaApAvpmf/a4r2F0B+VMRLcN+fy9bWN5w68IOMEX+crFyumRgChoAhYAgYAqkQSMVjnPfX4J/gcaq8snEeyo1OD45IQYB/taym4DgPBKCYGAKGgCFgCBgCrRmBKM9GFcqEKUo1OnFrhsDaZggYAoaAIWAIND0CSaKjzdzb9I/FamAIGAKGgCHQWhEIWqATSNjby1tr461dhoAhYAgYAoZAUyIQdPu6sOT4qljgUzwedmQIGAKGgCFgCGQLgSRfUcpWUZavIWAIGAKGgCFgCITM0fGhWOGvKhlchoAhYAgYAoaAIZA5BNKaozNXjOVkCBgChoAhYAgYAmEE4jXh8KcMw07i8N12bAgYAoaAIWAIGAIZQSBxnnCQojNShGViCBgChoAhYAgYAh6BoDm6QBXfoFs4FC3tb8rm1i9TactWZhNly9sQMAQMgbaBQKqptn51RlBo0mUrXfmeagtEzdE1LBxJME9n76H5jzfYBxyyh7HlbAgYAoZAW0Mg1VTb4Pn8/HxdO9p/wyCnyyZDudUsXCBSQ8D6oDw9Z/mpAQC/IChZLtKyNwQMAUPAEDAEYgjAP/AQiqD/xG7sYo52ElfMCpNyFipiBJwFUC1LQ8AQMAQMgQYh4MkYbsqFBH3CCSQcCSnGma6QEXCmEbX8DAFDwBAwBBqLQK6J2FuhE0i4yhuqG9uiJPej8kPCZoJOAo6dMgQMAUPAEGhSBDwRw1VZFVV2o77fhJIiWTRHWwBWVh+rZW4IGAKGgCHQSAQg4myTcDD+OYGEq4LG6kY2Jnh7LhoWLM/2DQFDwBAwBAyBhiCQbYUxGP+cQMLBiw2pfKp7IGF+JoaAIWAIGAKGQHNGIJd8lUDC2VowK9vqfXN+oFY3Q8AQMAQMgZaFQK44K8/pp/HIZCk82rTgeJjtyBAwBAwBQ6D5IpBNzgpOQsqrCgdiBT3GzRcfq5khYAgYAoaAIdAiEQiqvnkJinDwagabl81RRQarmZBVcXGxFBYWJpyv64mOHTvWNamlMwQMAUPAEGgmCOSKs/Kia0fXtDrVwtc1KbK7xzzis846S8455xz9nXnmmbLHHntIjx49sltwktzxCdx///1y4403JrmaeIr0QcLeaqut5F//+peMGTMmMbGdMQQMAUMgSwjQj1566aVy7LHHJi1h6623lt/+9rey0UYbJb1el5Pbb7+9PPbYY9KvX7+6JG/SNOG+uUkrEys8apQuiDgfcDAYK1fsH6tHaKegoECOPPJIPbt+/XopKiqKpYAQn3/++dhxtndY0HvatGmydOnSOhV10EEHyXnnnSenn366LF68WJYtWyY//fSTzJ07t073WyJDwBAwBDKBAP3oPvvso1l9+OGH8vPPP8dle9pppykBf/PNN/Ljjz/GXavrwUknnSRdunQR+r0HH3ywrrc1STrqeP755wvtpm9uHhI1O+dVhX3AQUZuwpo+9dRTcswxxwia8AMPPKCLa59xxhkyYMCAuFox4gtqn8GL6a7VNjJq3769ZnXVVVfJrbfeGsxW9zFTpxJ/bdasWUrK77//flxS6kv5qYTr1N3EEDAEDIHGIgABBWXIkCExDbihlk/6Ya9F77XXXkn7q3R9bLpr1NX3ocF613U/Xf/ZmHzrWn590yX5ilKWnML1rVl1+oULF8pzzz0naMVombvssos8/fTTqiGfe+65egywEyZMkDvvvFO1VvywmLN33nlnTTdp0iS56667VCsl7dlnn633lZSU6CjwvvvukylTpsh1112nn7bq2rWr9O/fX8ujzDlz5uj9XC8tLZVOnTrJxhtvLPPnz5dnn31WXn75ZR0NogEjf/vb3+TNN9+UZ555Rm666Sat1yeffCJDhw6VX/7yl7LZZptpPuPHj5e7775b1q1bJ4ceeqgwsvziiy9kt9120znVb7zxht6rmdofQ8AQMAQagMC+++4rjzzyiJSVlendBx98cFwu9KkXXHCBKhuff/65XjvllFNk//33V+1x1apVcek58Fo2fdR+++0n22yzjfh7g30sfTGa9r333qt9bLpr5HvIIYfI4YcfLgMHDpTZs2fLiy++KC+99BKX5I477pCPPvpITeAcU79TTz1VLrzwQtl9992T9p/cwyDE98233XabUOd77rmHLJqFJKhjDR0ZZbs1r732mr5EfvR18cUX60MYN26ckt12220naK3I6NGjhdEZBIkWPXz4cIGwkUsuuUQOOOAAwUTz5JNPSt++feXqq6/WkVfnzp1l8803V7KGHOfNmyec8/5o9nfYYQetx0MPPSS8nJA053744QclUMp44okn9EFjSu/WrZt06NBBt3/5y19kww03VD/xu+++K/zjwC+DkA5y5zp+lqlTp+rLM3jwYL1ufwwBQ8AQqC8CDOoxGY8cOVJvxcJH34jS4uW7777TvscTK1oqxLpo0SLt43w6v+U6aWfOnCn/+Mc/1Erp7yUNvugDDzxQCZO+kD6Wvg8CTndtzz33VNJfsWKF9tts6V/33ntvLRrlqHv37r4amh/9Ji5Urvn+89FHH43rP+mbfXt93xzLpIl2ggZnpwnHS/PSg2vq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" class="fr-fic fr-dii" style="width: 411px; height: 335.817073px;"><br></p><p style="line-height: 18.4px; font-size: medium;"><strong><span style='font-family: "Avenir Next Regular"; font-size: 18px;'>For the URL</span></strong><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;">, enter <a href="https://generativelanguage.googleapis.com/v1beta/openai">https://generativelanguage.googleapis.com/v1beta/openai</a></span></span></p><p style="line-height: 18.4px; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;"><strong>For the API key</strong>, enter the word &ldquo;Bearer&rdquo; followed by a space, then paste in your copied API key.</span></span></p><p style="line-height: 18.4px; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;"><strong>For the API Key Header</strong>, type &ldquo;Authorization&rdquo;</span></span></p><p style="line-height: 18.4px; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;"><strong>Click Add</strong>. You should see Googleapis listed under Providers.</span></span></p><p style="line-height: 18.4px; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;">You&rsquo;re good to go, but I&rsquo;d recommend one more step.&nbsp;</span></span></p><p style="line-height: 18.4px; font-size: medium;"><span style="font-size: 18px;"><span style='font-family: "Avenir Next Regular";'><u>Let&rsquo;s add an Agents.md file that Gemini and your other agents can follow. There are three options:</u></span></span></p><p style="line-height: 18.4px; font-size: medium;"><br></p><p style="line-height: normal; font-size: medium;"><strong><span style='font-family: "Avenir Next Regular"; font-size: 18px;'>Method 1: The Root Directory Strategy (Recommended)</span></strong></p><p style="line-height: normal; font-size: medium;"><span style='font-family: "Avenir Next Regular"; font-size: 18px;'>Xcode&#39;s coding intelligence is designed to automatically scan for context files in your project.</span></p><ol start="1" style="margin-bottom: 0in;" type="1"><li style='line-height: normal; font-family: "Avenir Next Regular"; font-size: 18px;'>Ensure your Agents.md file is located in the <strong>root directory</strong> of your Xcode project (where your .xcodeproj or .xcworkspace file is).</li><li style='line-height: normal; font-family: "Avenir Next Regular"; font-size: 18px;'><strong>Rename it (if needed):</strong> While some agents look for Agents.md, the most reliable filename for the Gemini-specific integration in many environments is <strong>GEMINI.md</strong>.</li><li style='line-height: normal; font-family: "Avenir Next Regular"; font-size: 18px;'>Once the file is in the root, Gemini will automatically ingest it as a &quot;preamble&quot; to every request you make within that project.</li></ol><p style="line-height: normal; font-size: medium;"><span style="font-family: Avenir Next Regular;"><strong><span style="font-size: 18px;">Method 2: Reference it via the &quot;Context Drawer&quot;</span></strong></span></p><p style="line-height: normal; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;">If you prefer to keep the filename as Agents.md, you can manually attach it to your session:</span></span></p><ol start="1" style="margin-bottom: 0in;" type="1"><li style='line-height: normal; font-family: "Avenir Next Regular"; font-size: 18px;'>Open the <strong>Coding Assistant</strong> panel (the star icon in the top right or Cmd+Shift+A).</li><li style='line-height: normal; font-family: "Avenir Next Regular"; font-size: 18px;'>Look for the <strong>Context</strong> icon (often looks like a paperclip or a drawer) at the bottom of the chat interface.</li><li style='line-height: normal; font-family: "Avenir Next Regular"; font-size: 18px;'>Select <strong>&quot;Add File&quot;</strong> and choose your Agents.md.</li><li style='line-height: normal; font-family: "Avenir Next Regular"; font-size: 18px;'>This explicitly feeds the contents of that file into Gemini&rsquo;s context window for the current conversation.</li></ol><p style="line-height: normal; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;"><strong>Method 3: The Library Config Folder (Global Context)</strong></span></span></p><p style="line-height: normal; font-size: medium;"><span style="font-size: 18px;"><span style="font-family: Avenir Next Regular;">If your Agents.md contains rules you want Gemini to follow across <strong>all</strong> Xcode projects (like your personal coding style or favorite libraries), you can place a copy in Xcode&#39;s global configuration directory for agents:</span></span></p><ul style="margin-bottom: 0in;" type="disc"><li style='line-height: normal; font-family: "Avenir Next Regular"; font-size: 18px;'>Path: ~/Library/Developer/Xcode/CodingAssistant/CustomAgents/</li><li style='line-height: normal; font-family: "Avenir Next Regular"; font-size: 18px;'><em>Note: You may need to create the&nbsp;</em><em>CustomAgents</em><em>&nbsp;folder if it doesn&#39;t exist yet.</em></li></ul><p style="line-height: 18.4px; font-size: medium;"><span style="font-family: Avenir Next Regular;"><br></span></p><p class="ewgsStyle12">Gemini models may not be the most robust agents for SwiftUI development, especially when it comes to front-end design, but they&rsquo;re a great way to get your feet wet with the impressive new coding intelligence features without burning through costly tokens.</p>]]></description>
<author></author>
</item>
<item>
<title><![CDATA[Optionals in Swift, Part 2]]></title>
<link>https://www.drowsydays.com/Drowsy-Days-blog/Entries/2024/3/optionals-in-swift-part-2.html</link>
<guid isPermaLink="false">622E283D9EEE4F1781758BDFAB7C7D5A</guid>
<pubDate>Tue, 05 Mar 2024 00:59:56 GMT</pubDate>
<description><![CDATA[<p class="ewgsStyle12">In <a href="internal://E72257678B59443CADEEF8785DB3C228/A173F1BE687C446E847772AEBAF984C4">Part 1</a> we learned that optional variables may or may not contain a value. When we declare regular variables we can just use them in our code. When we declare optional variables we must unwrap them to see what&rsquo;s inside before we can use them.&nbsp;</p><p class="ewgsStyle12">Open a new Playground in Xcode and enter the following:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">5</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>anotherInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">&nbsp;= <span style="color: #000bff;">5</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">someOtherInt</span><span style="color: #000000;">&nbsp;=&nbsp;</span>someInt<span style="color: #000000;">&nbsp;+&nbsp;</span>anotherInt</p><p class="ewgsStyle12">Now change anotherInt from a regular Int to an Optional Int like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>anotherInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int?</span><span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">5</span></p><p class="ewgsStyle12">You&#39;ll get an error when you try to add someInt<span style="color: #000000;">&nbsp;+&nbsp;</span>anotherInt. Even though we&rsquo;ve initialized anotherInt with a value, the compiler knows that the value of anotherInt could change to nil. This is not the same as a value of 0. Nil means &ldquo;no value&rdquo; which can&rsquo;t be added to 5.</p><p class="ewgsStyle12">The error says:</p><p style='margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: "Helvetica Neue"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85);'>Value of optional type &#39;Int?&#39; must be unwrapped to a value of type &#39;Int&#39;</p><p class="ewgsStyle12"><em>Unwrapping an optional is like unwrapping a present to see what&rsquo;s inside</em>.</p><p class="ewgsStyle12"><img src="file:///Users/michaelg/Library/Application%20Support/EverWeb/CED3C35F0B734781BD5A7AB75197A87D.everweb/Assets/Images/Unwrapping%20figure.png" data-imguuid="F81986EE0E5A43E5AFF4C2DF2F4D1132" style="width: 206px;" class="fr-fic fr-dib fr-fil"></p><p class="ewgsStyle12">Xcode offers a couple of suggestions for how to do that. One of them is called &ldquo;force-unwrapping&rdquo;, also known as &ldquo;unconditional unwrapping&quot;. This is like ripping the wrapping off a present and throwing it away. Once you do that, there&rsquo;s no way to rewrap it. To force unwrap an optional, we just put an exclamation mark after its name like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">5</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>anotherInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">? =&nbsp;</span><span style="color: #000bff;">5</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">someOtherInt</span><span style="color: #000000;">&nbsp;=&nbsp;</span>someInt<span style="color: #000000;">&nbsp;+&nbsp;</span>anotherInt<span style="color: #000000;">!</span></p><p class="ewgsStyle12">Problem solved! We&rsquo;ve ripped off the wrapping, exposing the value of anotherInt which can now be added to someInt.&nbsp;</p><p class="ewgsStyle12">But there&rsquo;s a big problem with this approach. Change the value of anotherInt to nil.</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">5</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>anotherInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">? =&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>nil</strong></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">someOtherInt</span><span style="color: #000000;">&nbsp;=&nbsp;</span>someInt<span style="color: #000000;">&nbsp;+&nbsp;</span>anotherInt<span style="color: #000000;">!</span></p><p style='margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: "Helvetica Neue"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85);'><br></p><p style='margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: "Helvetica Neue"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85);'>error: Execution was interrupted</p><p class="ewgsStyle12">Force-unwrapping an optional that has no value will crash your code at runtime. You shouldn&rsquo;t force unwrap an optional variable in production code unless you&rsquo;re absolutely certain that your optional variable contains an actual value. In most cases, if you&#39;re certain that an optional variable isn&rsquo;t nil, you should just be using a regular variable, not an optional variable.&nbsp;</p><p class="ewgsStyle12">Fortunately, Swift provides safer alternatives. These allow us to peek inside an optional without ripping off the wrapping. These safer alternatives are called &ldquo;nil coalescing&rdquo;, &ldquo;optional binding&rdquo; and &ldquo;optional chaining&rdquo;.&nbsp;</p><p class="ewgsStyle12">We&rsquo;ll get to those soon, but the simplest technique to understand is to use an if&hellip;else statement to see if an optional variable has a value or not. it looks like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">5</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>anotherInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">? =&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>nil</strong></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someOtherInt<span style="color: #000000;">&nbsp;=</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>if</strong></span><span style="color: #000000;">&nbsp;</span>anotherInt<span style="color: #000000;">&nbsp;!=&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>nil</strong></span><span style="color: #000000;">&nbsp;{</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: #000000;">&nbsp;&nbsp;</span>someInt<span style="color: #000000;">&nbsp;+&nbsp;</span>anotherInt<span style="color: #000000;">!</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">} <span style="color: rgba(180, 0, 98, 0.8);"><strong>else</strong></span> {</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: #000000;">&nbsp;&nbsp;</span>someInt</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">}</p><p class="ewgsStyle12">We still have to force unwrap anotherInt, but now we only do so if it isn&rsquo;t nil. &nbsp;If it has a value we use it, otherwise (else) we don&#39;t.</p><p class="ewgsStyle12">This works, but it&rsquo;s pretty cumbersome to explicitly check if an optional variable is nil every time we need to use it in our code. Let&rsquo;s look at the other techniques available to us.</p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12" style="text-align: center;"><strong>Optional binding</strong></p><p class="ewgsStyle12">Optional binding uses an &quot;if let&hellip;else&quot; syntax to automatically peek inside an optional variable to see if it&rsquo;s nil. In our example it looks like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">5</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>anotherInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">? =&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>nil</strong></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someOtherInt<span style="color: #000000;">&nbsp;=&nbsp;</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="color: rgba(180, 0, 98, 0.8);"><strong>if</strong></span> <span style="color: rgba(180, 0, 98, 0.8);"><strong>let</strong></span> anotherInt {</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: #000000;">&nbsp;&nbsp;</span>anotherInt<span style="color: #000000;">&nbsp;+&nbsp;</span>someInt</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">} <span style="color: rgba(180, 0, 98, 0.8);"><strong>else</strong></span> {</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: #000000;">&nbsp;&nbsp;</span>someInt</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">}</p><p class="ewgsStyle12">Don&rsquo;t be confused by the use of the word <span style="color: rgba(180, 0, 98, 0.8);"><strong>let</strong></span> here which is also used to declare a constant in Swift. You can think of the &quot;if let&hellip;else&quot; statement as saying, &ldquo;If anotherInt isn&rsquo;t nil, let someOtherInt = anotherInt + someInt. Otherwise, let someOtherInt = someInt&rdquo;.</p><p class="ewgsStyle12">This is functionally equivalent to the if&hellip;else approach we used above, but checking to see if anotherInt is nil is built in. We don&rsquo;t have to do it explicitly, and we don&rsquo;t have to force unwrap anotherInt.&nbsp;</p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12" style="text-align: center;"><strong>The nil coalescing operator</strong></p><p class="ewgsStyle12">The nil coalescing operator is written as two question marks (??). It does two things:</p><p class="ewgsStyle12">1. Unwraps an optional variable to expose its content</p><p class="ewgsStyle12">2. If the content is nil, it substitutes a default value that we specify</p><p class="ewgsStyle12">In our example, we can use it like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">5</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>anotherInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">? =&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>nil</strong></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">someOtherInt</span><span style="color: #000000;">&nbsp;=&nbsp;</span>someInt<span style="color: #000000;">&nbsp;+ (</span>anotherInt<span style="color: #000000;">&nbsp;??&nbsp;</span><span style="color: #000bff;">0</span><span style="color: #000000;">)</span></p><p class="ewgsStyle12">Unlike force-unwrapping, the nil coalescing operator protects our code from crashing when anotherInt is nil. If it is, a value we specify (0 in this case) is used instead.</p><p class="ewgsStyle12">It&rsquo;s important to understand that anotherInt hasn&rsquo;t changed from an optional integer to an integer. The nil coalescing operator just peeks under the wrapping to see if it has a value. If it finds a value, that&rsquo;s what&rsquo;s used. If it finds nil, it substitutes the value we specify (in this case, 0).</p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12" style="text-align: center;"><strong>Optional chaining</strong></p><p class="ewgsStyle12">Optional chaining is used to unwrap optional properties, methods and subscripts. It is beyond the scope of this basic introduction, but you can read about it <a href="https://docs.swift.org/swift-book/documentation/the-swift-programming-language/optionalchaining/">here</a>.</p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12" style="text-align: center;"><strong>The Great Banking App Dilemma- Solved</strong></p><p class="ewgsStyle12" style="text-align: left;">In <a href="internal://E72257678B59443CADEEF8785DB3C228/A173F1BE687C446E847772AEBAF984C4">Part 1</a> we thought through some of the logic for a banking app. We realized that we should use optionals to handle the logic needed to decide which customers have to pay a monthly fee. Refresh your memory be reviewing <a href="internal://E72257678B59443CADEEF8785DB3C228/A173F1BE687C446E847772AEBAF984C4">Part 1</a>. We need to declare userSavingsBalance as an optional double so we can tell which customers have a savings account. If it&rsquo;s nil, they&rsquo;ll have to pay a monthly fee for their checking account.&nbsp;</p><p class="ewgsStyle12" style="text-align: left;">Take a few moments to think about the logic we might use to safely unwrap userSavingsBalance and subtract a fee if appropriate&hellip; <span style="font-size: 30px;">🕒</span></p><p class="ewgsStyle12" style="text-align: left;">Got it? Let&rsquo;s apply what we&rsquo;ve learned. We&rsquo;ll define our variables like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>userCheckingBalance<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">0.0</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>userSavingsBalance<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Double</span><span style="color: #000000;">?</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>let</strong></span><span style="color: #000000;">&nbsp;</span>monthlyFee<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">3.99</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>userTotalBalance<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">0.0</span></p><p class="ewgsStyle12" style="text-align: left;">We&rsquo;ve made userSavingsBalance an optional double, because we don&rsquo;t know if a savings account actually exists. We&rsquo;ve also initialized userCheckingBalance and userTotalBalance with a value of 0. Our app&rsquo;s logic is going to calculate the actual total balance based on data it gets from the bank for each individual customer. If a customer has a savings account, their total balance will be userCheckingBalance + userSavingsBalance. Otherwise, their total balance will be userCheckingBalance - monthlyFee. To implement this logic, we&rsquo;ll need to unwrap userSavingsBalance to see if it&rsquo;s nil or not.</p><p class="ewgsStyle12" style="text-align: left;">&nbsp;How might we use optional binding to safely unwrap (i.e. peek inside) userSavingsBalance?</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>if</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>let</strong></span><span style="color: #000000;">&nbsp;</span>userSavingsBalance<span style="color: #000000;">&nbsp;{</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: #000000;">&nbsp;&nbsp;</span>userTotalBalance<span style="color: #000000;">&nbsp;=&nbsp;</span>userCheckingBalance<span style="color: #000000;">&nbsp;+&nbsp;</span>userSavingsBalance</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">} <span style="color: rgba(180, 0, 98, 0.8);"><strong>else</strong></span> {</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: #000000;">&nbsp;&nbsp;</span>userTotalBalance<span style="color: #000000;">&nbsp;=&nbsp;</span>userCheckingBalance<span style="color: #000000;">&nbsp;-&nbsp;</span>monthlyFee</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">}</p><p class="ewgsStyle12" style="text-align: left;">Remember that <span style="color: rgba(180, 0, 98, 0.8);"><strong>if</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>let&nbsp;</strong></span>is like saying &ldquo;If userSavingsBalance isn&rsquo;t &nbsp;nil, do something. Otherwise do something else&rdquo;. It peeks under the wrapping of userSavingsBalance to see if there&rsquo;s a value or not.</p><p class="ewgsStyle12" style="text-align: left;">How might we use a nil coalescing operator to do the same thing? This approach is even easier. All the logic we need is included in the nil coalescing operator. Instead of using <span style="color: rgba(180, 0, 98, 0.8);"><strong>if</strong></span><span style="color: #000000;">&nbsp;</span><strong><span style="color: rgba(180, 0, 98, 0.8);">let</span><span style="caret-color: rgba(180, 0, 98, 0.8); color: rgba(180, 0, 98, 0.8);">&hellip;</span><span style="color: rgba(180, 0, 98, 0.8);">else&nbsp;</span></strong>we just need to do this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);">userTotalBalance<span style="color: #000000;">&nbsp;=&nbsp;</span>userCheckingBalance<span style="color: #000000;">&nbsp;+ (</span>userSavingsBalance<span style="color: #000000;">&nbsp;?? -</span>monthlyFee<span style="color: #000000;">)</span></p><p class="ewgsStyle12" style="text-align: left;">If userSavingsBalance isn&rsquo;t nil, we&rsquo;re adding it to userCheckingBalance. If it is nil, we&rsquo;re subtracting monthlyFee instead.&nbsp;</p><p class="ewgsStyle12" style="text-align: left;">The approach you use to safely unwrap an optional depends on the specific circumstances of your app and to some extent on your personal preference.</p><p class="ewgsStyle12" style="text-align: left;"><br></p><p class="ewgsStyle12" style="text-align: left;">We&rsquo;ve learned what optional variables are, how they differ from regular variables, and how to take advantage of them in our code. They&rsquo;re a bit more cumbersome to use, but you&rsquo;ll come to depend on the power and convenience they offer.</p><p class="ewgsStyle12" style="text-align: left;"><em><strong>The key concept to remember is that optionals must be unwrapped safely before their wrapped values can be used</strong></em>.</p><p class="ewgsStyle12" style="text-align: left;"><img src="file:///Users/michaelg/Library/Application%20Support/EverWeb/CED3C35F0B734781BD5A7AB75197A87D.everweb/Assets/Images/Gift%20wrapped%20box%203%2072%20dpi.png" data-imguuid="83CBC86FFAD5443297EA2B9FD9F3E8C6" style="width: 300px;" class="fr-fic fr-dib" alt="A wrapped present"></p>]]></description>
<author></author>
</item>
<item>
<title><![CDATA[Optionals in Swift, Part 1]]></title>
<link>https://www.drowsydays.com/Drowsy-Days-blog/Entries/2024/2/optionals-in-swift-part-1.html</link>
<guid isPermaLink="false">A173F1BE687C446E847772AEBAF984C4</guid>
<pubDate>Sun, 25 Feb 2024 22:40:50 GMT</pubDate>
<description><![CDATA[<h1 class="ewgsStyle12"><strong>Swift optionals are a powerful addition to your coding toolbox. Let&rsquo;s explore what they are and how to use them.</strong></h1><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-family: AvenirNext-Regular; font-size: 18px;"><strong>Level: <span style="color: rgb(65, 168, 95);">Novice</span></strong></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><br></p><p class="ewgsStyle12">In the Swift programming language, variables are declared like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someString<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">String</span><span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #ba0011;">&quot;&quot;</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">0</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someDouble<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Double</span><span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">0.0</span></p><p><br></p><p class="ewgsStyle12">We&rsquo;ve declared three variables, a string, an integer and a double. We&rsquo;ve also initialized them (given them initial values).</p><p class="ewgsStyle12">In more detail, we&rsquo;ve:</p><p class="ewgsStyle12" style="line-height:1.2em;P:line-height;margin-top:9px;margin-bottom:9px;"><span style="font-size: 16px;">&bull; Used the word <span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span> to indicate that we want to create a new variable.</span></p><p class="ewgsStyle12" style="line-height:1.2em;P:line-height;margin-top:9px;margin-bottom:9px;"><span style="font-size: 16px;">&bull; Described what name we want to use to refer to that variable, followed by a colon (e.g. someString:).&nbsp;</span></p><p class="ewgsStyle12" style="line-height:1.2em;P:line-height;margin-top:9px;margin-bottom:9px;"><span style="font-size: 16px;">&bull; Specified what kind of value this variable will store (e.g. String meaning a string of characters, Int meaning a number without a decimal point and Double meaning a number with a decimal point).&nbsp;</span></p><p class="ewgsStyle12" style="line-height:1.2em;P:line-height;margin-top:9px;margin-bottom:9px;"><span style="font-size: 16px;">&bull; Specified the initial values to store in these variables.</span></p><p class="ewgsStyle12"><span style="font-family: AvenirNext-Regular;">Swift can use the initial value of a variable to infer what type of value it will store. Because Swift supports type inference, we can save some typing and just write this:</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someString<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #ba0011;">&quot;&quot;</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someInt<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">0</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someDouble<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">0.0</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><br></p><p class="ewgsStyle12" style="text-align: center;"><strong>The Great Banking App dilemma</strong></p><p class="ewgsStyle12">Suppose we&rsquo;re creating an application for a bank that allows customers to see the current balances in their accounts. In this bank, customers may have a checking account, a savings account or both.&nbsp;</p><p class="ewgsStyle12">When creating our banking application, we have no way of knowing what accounts each customer will have. Let&rsquo;s create some variables to hold their account balances. Because we don&rsquo;t know if these accounts actually exist, we&rsquo;ll omit the initial values like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>userCheckingBalance<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Double</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>userSavingsBalance<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Double</span></p><p class="ewgsStyle12">So far, so good.</p><p class="ewgsStyle12">But customers are going to want to see the total amount of money the have in the bank, so let&rsquo;s also give them the sum of their account balances by creating a computed variable like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">userTotalBalance</span><span style="color: #000000;">&nbsp;=&nbsp;</span>userSavingsBalance<span style="color: #000000;">&nbsp;+&nbsp;</span>userCheckingBalance</p><p class="ewgsStyle12">Xcode complains that</p><p style='margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: "Helvetica Neue"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85);'>Variable &#39;userCheckingBalance&#39; used before being initialized</p><p style='margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: "Helvetica Neue"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85);'>Variable &#39;userSavingsBalance&#39; used before being initialized</p><p class="ewgsStyle12">because it can&rsquo;t add values without knowing what they are.</p><p class="ewgsStyle12">There&rsquo;s an easy way to fix this. We need to initialize our variables.</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>userCheckingBalance<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">0.0</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>userSavingsBalance<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">0.0</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">userTotalBalance</span><span style="color: #000000;">&nbsp;=&nbsp;</span>userSavingsBalance<span style="color: #000000;">&nbsp;+&nbsp;</span>userCheckingBalance</p><p class="ewgsStyle12">We just assume that the values are 0 when we start. It doesn&rsquo;t matter because our application is going to get actual values from the bank before the customer sees any balances. But customers without a savings account will see a savings account balance of 0. That could mislead them into thinking that they actually have a savings account. That&rsquo;s not so good, but our code works, so we&rsquo;ll stick with this approach for now.</p><p class="ewgsStyle12">Now suppose that this bank charges users monthly fee of $3.99 to have a checking account. Because this is a fixed amount, we can represent it with a constant. In Swift, constants are declared with the word <span style="color: rgba(180, 0, 98, 0.8);"><strong>let</strong></span>, so we can do this:&nbsp;</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>userCheckingBalance<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">0.0</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>userSavingsBalance<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">0.0</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>let</strong></span><span style="color: #000000;">&nbsp;</span>monthlyFee<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">3.99</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">userTotalBalance</span><span style="color: #000000;">&nbsp;=&nbsp;</span>userSavingsBalance<span style="color: #000000;">&nbsp;+&nbsp;</span>userCheckingBalance -<span style="color: #000000;">&nbsp;</span>monthlyFee</p><p class="ewgsStyle12">But what if the bank decides that they&rsquo;re going to waive the monthly fee for customers who also have a savings account? &nbsp;Even if they let their savings account balance fall to $0, they won&rsquo;t be charged a monthly fee.&nbsp;</p><p class="ewgsStyle12">Our app is going need some logic in order to handle this. If a customer has a savings account, there&rsquo;s no monthly fee, otherwise, there is a monthly fee.</p><p class="ewgsStyle12">Think about how we might add this logic to our banking app. Let&rsquo;s try this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>if</strong></span><span style="color: #000000;">&nbsp;</span>userSavingsBalance<span style="color: #000000;">&nbsp;&gt;=&nbsp;</span><span style="color: #000bff;">0</span><span style="color: #000000;">&nbsp;{</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: #000000;">&nbsp;&nbsp;</span>userTotalBalance<span style="color: #000000;">&nbsp;=&nbsp;</span>userSavingsBalance<span style="color: #000000;">&nbsp;+&nbsp;</span>userCheckingBalance</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">} <span style="color: rgba(180, 0, 98, 0.8);"><strong>else</strong></span> {</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: #000000;">&nbsp;&nbsp;</span>userTotalBalance<span style="color: #000000;">&nbsp;=&nbsp;</span>userSavingsBalance<span style="color: #000000;">&nbsp;+&nbsp;</span>userCheckingBalance<span style="color: #000000;">&nbsp;-&nbsp;</span>monthlyFee</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">}</p><p class="ewgsStyle12">We&rsquo;re using an <span style="color: rgba(180, 0, 98, 0.8);"><strong>if</strong></span>&hellip;<span style="color: rgba(180, 0, 98, 0.8);"><strong>else</strong></span> statement to decide whether or not to charge a monthly fee. If a customer has a savings balance, there&rsquo;s no fee, even if the balance is 0. &nbsp;Otherwise (else), we deduct the monthly fee.</p><p class="ewgsStyle12">Do you see a problem? We have to initialize our variables in order to use them, so we set userSavingsBalance to 0. We have no way of knowing whether or not a customer actually has a savings account. With this approach, no one will be charged a monthly fee, because everyone will have a savings balance of at least 0.</p><p class="ewgsStyle12">We don&rsquo;t have enough information to make our logic work. We need to know which customers don&rsquo;t have a savings account.</p><p class="ewgsStyle12">This is a dilemma. We don&rsquo;t know if userSavingsBalance will exist until a customer starts using our app, but we have to give it some initial value in order for our code to work.</p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12" style="text-align: center;"><strong>Give me some options</strong></p><p class="ewgsStyle12">There are several ways to solve this problem, but Swift provides a kind of variable that is perfect for this situation. It&rsquo;s called an &ldquo;Optional&rdquo;. Regular variables like Int must have some value before we can use them. In contrast, <strong>optional variables may or may not have a value.&nbsp;</strong> This is perfect for our banking app. We can make <span style="color: rgb(84, 130, 140);">userSavingsBalance</span> an optional double variable instead of a double variable. An optional double variable may have a value like 0.0 or no value. In Swift, no value is represented by the word &ldquo;nil&rdquo;. Here&rsquo;s how we declare <span style="color: rgb(84, 130, 140);">userSavingsBalance</span> as an optional double:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>userSavingsBalance<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Optional</span><span style="color: #000000;">&lt;</span><span style="color: #2e0d6e;">Double</span><span style="color: #000000;">&gt;</span></p><p class="ewgsStyle12">When declared as an optional double, <span style="color: rgb(84, 130, 140);">userSavingsBalance</span> may or may not have a value. We can declare other types as optionals using the same syntax.</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(46, 13, 110);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">someInt</span><span style="color: #000000;">:&nbsp;</span>Optional<span style="color: #000000;">&lt;</span>Int<span style="color: #000000;">&gt;</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(46, 13, 110);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">someString</span><span style="color: #000000;">:&nbsp;</span>Optional<span style="color: #000000;">&lt;</span>String<span style="color: #000000;">&gt;</span></p><p class="ewgsStyle12">And just like regular variables, we can initialize optional variables if we want to.</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(46, 13, 110);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">someString</span><span style="color: #000000;">:&nbsp;</span>Optional<span style="color: #000000;">&lt;</span>String<span style="color: #000000;">&gt; =&nbsp;</span><span style="color: #ba0011;">&quot;myString&quot;</span></p><p class="ewgsStyle12">But unlike regular variables, we can initialize optional variables with no value.</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(46, 13, 110);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">someString</span><span style="color: #000000;">:&nbsp;</span>Optional<span style="color: #000000;">&lt;</span>String<span style="color: #000000;">&gt; =&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>nil</strong></span></p><p class="ewgsStyle12"><em><strong>However, &nbsp;there&rsquo;s a catch. Unlike regular variables, the value stored in an optional variable can&rsquo;t be accessed directly.</strong></em></p><p class="ewgsStyle12">&nbsp;Notice how the variable type is wrapped inside Optional&lt;&gt;. Think of an optional variable as a wrapped package.&nbsp;</p><p class="ewgsStyle12" style="text-align: center;"><span style="font-size: 48px;">🎁</span></p><p class="ewgsStyle12">If you want to see what&rsquo;s inside this package, you have to unwrap it.</p><p class="ewgsStyle12"><img src="file:///Users/michaelg/Library/Application%20Support/EverWeb/CED3C35F0B734781BD5A7AB75197A87D.everweb/Assets/Images/Unwrapping%20figure.png" data-imguuid="F81986EE0E5A43E5AFF4C2DF2F4D1132" style="width: 300px;" class="fr-fic fr-dib" alt="A package is unwrapped to reveal that it contains the number 5."></p><p class="ewgsStyle12">The concept of optional variables being wrapped and invisible is essential to remember. Forgetting this is what leads to confusion about how to use them. The fact that they&rsquo;re declared with Optional&lt;&gt; provides a clue, but it&rsquo;s easy to forget because you won&rsquo;t see optionals declared using Optional&lt;&gt;. It&rsquo;s much more common to use a shorthand that looks like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someOptionalInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">?</span></p><p class="ewgsStyle12">We just put a &ldquo;?&rdquo; after the type of variable we want to declare as an optional. This wraps the type inside an optional and gives it an initial value of nil.</p><p class="ewgsStyle12">&nbsp;<span style="color: #2e0d6e;">Int</span> and <span style="color: #2e0d6e;">Int</span><span style="color: #000000;">?</span> look almost the same, but they&rsquo;re not!&nbsp;</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>someOptionalInt<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Int</span><span style="color: #000000;">?</span></p><p class="ewgsStyle12">someInt must be an integer, but someOptionalInt can be an integer or nil. We don&rsquo;t know until we unwrap it. We&rsquo;ll see how in Part 2.</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><br></p><p class="ewgsStyle12" style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><br></p><p class="ewgsStyle12" style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><br></p>]]></description>
<author></author>
</item>
<item>
<title><![CDATA[Optionals in Swift, Part 3]]></title>
<link>https://www.drowsydays.com/Drowsy-Days-blog/Entries/2024/2/optionals-in-swift-part-3.html</link>
<guid isPermaLink="false">F896C693BB574FB896A0B1AF888B8F49</guid>
<pubDate>Sat, 24 Feb 2024 18:40:00 GMT</pubDate>
<description><![CDATA[<p class="ewgsStyle12">This is a sample blog post</p><p class="ewgsStyle12">In order to explore optional chaining, let&rsquo;s make our banking app more realistic. In an app like this, we&rsquo;d probably use a struct (short for structure) to organize customer information. If you&rsquo;re not familiar with structs, think of them as a template for structuring (organizing) data. In Swift, they are defined like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(0, 73, 117);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>struct</strong></span><span style="color: #000000;">&nbsp;</span>Customer<span style="color: #000000;">&nbsp;{</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>firstName<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">String</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>lastName<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">String</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>checkingBalance<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Double</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>savingsBalance<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">Double</span><span style="color: #000000;">?</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>let</strong></span><span style="color: #000000;">&nbsp;</span>monthlyFee<span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #000bff;">3.99</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;">}</p><p class="ewgsStyle12">We&rsquo;ve defined a struct called Customer and added some variables to it. These variables are placeholders that define what information is stored in the struct. Even though we recognize them as variables, in the context of a struct they&rsquo;re referred to as &ldquo;properties&quot;. So we&rsquo;ve defined some properties that each customer will have. You&rsquo;ll notice that we&rsquo;ve made savingsBalance an optional double because we know that a specific customer may or may not have a savings account. &nbsp;Because structs are just templates that define the data we want for each customer, we&rsquo;re going to use the template to create one for each customer.&nbsp;</p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12">We now have a structure that defines the things we want to know about each customer. This struct is just a template, it doesn&rsquo;t actually hold any information except for a constant called monthlyFee. We&rsquo;ve initialized monthlyFee because we know what its value is.. In order to use this struct, we have to create one for each actual customer. This is called &ldquo;instantiation&rdquo;, meaning &ldquo;to create an instance of&rdquo;. The jargon can be confusing, but it just means doing this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">someCustomer</span><span style="color: #000000;">&nbsp;=&nbsp;</span><span style="color: #284b4f;">Customer</span><span style="color: #000000;">(</span>firstName<span style="color: #000000;">:&nbsp;</span><span style="color: #ba0011;">&quot;Tom&quot;</span><span style="color: #000000;">,&nbsp;</span>lastName<span style="color: #000000;">:&nbsp;</span><span style="color: #ba0011;">&quot;Tresh&quot;</span><span style="color: #000000;">,&nbsp;</span>checkingBalance<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">0</span><span style="color: #000000;">)</span></p><p class="ewgsStyle12">We&rsquo;ve created an actual instance of a customer called someCustomer by using our Customer template, and we&rsquo;ve given it some actual data about this specific person. &nbsp;Notice that we don&rsquo;t have to provide an initial value for savingsBalance because it&rsquo;s an optional</p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12">Here&rsquo;s how we might use this in our banking app:</p>]]></description>
<author></author>
</item>
<item>
<title><![CDATA[Animating from one view to another in SwiftUI]]></title>
<link>https://www.drowsydays.com/Drowsy-Days-blog/Entries/2024/1/animating-from-one-view-to-another-in-swiftui.html</link>
<guid isPermaLink="false">785427F4DC5A46A19592474CE74B0140</guid>
<pubDate>Sat, 06 Jan 2024 17:29:20 GMT</pubDate>
<description><![CDATA[<h1 style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 20px;"><span style="font-family: AvenirNext-DemiBold;"><strong>The magic of matchedGeometryEffect()</strong></span></span></h1><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-family: AvenirNext-Regular; font-size: 18px;"><strong>Level:&nbsp;</strong><span style="color: rgb(41, 105, 176);"><strong>Intermediate</strong></span></span></p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12">In <a href="internal://E72257678B59443CADEEF8785DB3C228/7DF27E1C83C7428EA704DB518F189782">this</a> post, we explored how to reliably animate changes to a view&rsquo;s properties by avoiding if&hellip;else conditional statements inside a view body. We learned how to leverage the power of the SwiftUI ternary conditional operator to do this. That solution works well when we want to animate changes to a single view, but what if we want to animate a change from one view to another? We can do that too, but the solution is a bit more complicated.</p><p class="ewgsStyle12">Here&rsquo;s what we&rsquo;re going to create:</p><p><span class="fr-video fr-deletable fr-fvc fr-dvb fr-draggable" contenteditable="false" draggable="true"><video class="fr-draggable" controls="" style="width: 218px; height: 354px;"><source src="{!-ASSETSPATH-!}External%20Files/Desired%20result%20MGE.mp4"></video></span></p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12">We&rsquo;ve got two views, a blue circle in the center and a yellow rectangle offset to the left. When the user switches the toggle on, the circle appears to smoothly morph into the rectangle with a subtle bounce at the end. When the user switches the toggle off, the rectangle morphs into the circle.</p><p class="ewgsStyle12">Let&rsquo;s begin by creating our body and giving it a toggle. Just like last time, we&rsquo;ll use an @State Boolean variable to keep track of the state of our toggle, and our toggle will use the same bouncy animation we used before:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="color: rgb(155, 35, 147); font-size: 16px; font-family: Menlo-Regular;">i</span><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: rgb(155, 35, 147);">mport</span> SwiftUI</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(11, 79, 121);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #9b2393;">struct</span><span style="color: #000000;">&nbsp;</span>ContentView<span style="color: #000000;">:&nbsp;</span><span style="color: #5c2699;">View</span><span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(155, 35, 147);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #5c2699;">@State</span><span style="color: #000000;">&nbsp;</span>private<span style="color: #000000;">&nbsp;</span>var<span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">showRectangle</span><span style="color: #000000;">&nbsp;=&nbsp;</span>false</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; <span style="color: #9b2393;">var</span> <span style="color: #0f68a0;">body</span>: <span style="color: #9b2393;">some</span> <span style="color: #5c2699;">View</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; <span style="color: #5c2699;">VStack</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #5c2699;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(196, 26, 22);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #5c2699;">Toggle</span><span style="color: #000000;">(</span>&quot;Show the rectangle&quot;<span style="color: #000000;">,&nbsp;</span><span style="color: #3900a0;">isOn</span><span style="color: #000000;">:&nbsp;</span><span style="color: #326d74;">$showRectangle</span><span style="color: #000000;">.</span><span style="color: #3900a0;">animation</span><span style="color: #000000;">(.</span><span style="color: #5c2699;">bouncy</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; )</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; .<span style="color: #3900a0;">padding</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">}</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">#Preview<span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span>ContentView<span style="color: #000000;">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px; font-family: Menlo-Regular;">}</span></p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12">Now we&rsquo;ll create the circle and rectangle views and conditionally insert them based on the value of showRectangle:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="color: rgb(155, 35, 147); font-size: 16px; font-family: Menlo-Regular;">i</span><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: rgb(155, 35, 147);">mport</span> SwiftUI</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(11, 79, 121);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #9b2393;">struct</span><span style="color: #000000;">&nbsp;</span>ContentView<span style="color: #000000;">:&nbsp;</span><span style="color: #5c2699;">View</span><span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(155, 35, 147);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #5c2699;">@State</span><span style="color: #000000;">&nbsp;</span>private<span style="color: #000000;">&nbsp;</span>var<span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">showRectangle</span><span style="color: #000000;">&nbsp;=&nbsp;</span>false</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; <span style="color: #9b2393;">var</span> <span style="color: #0f68a0;">body</span>: <span style="color: #9b2393;">some</span> <span style="color: #5c2699;">View</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; <span style="color: #5c2699;">VStack</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #5c2699;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #9b2393;">if</span><span style="color: #000000;">&nbsp;</span>showRectangle<span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>rectangleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; } <span style="color: #9b2393;">else</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>circleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #5c2699;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(196, 26, 22);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #5c2699;">Toggle</span><span style="color: #000000;">(</span>&quot;Show the rectangle&quot;<span style="color: #000000;">,&nbsp;</span><span style="color: #3900a0;">isOn</span><span style="color: #000000;">:&nbsp;</span><span style="color: #326d74;">$showRectangle</span><span style="color: #000000;">.</span><span style="color: #3900a0;">animation</span><span style="color: #000000;">(.</span><span style="color: #5c2699;">bouncy</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; )</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; .<span style="color: #3900a0;">padding</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #9b2393;">var</span><span style="color: #000000;">&nbsp;</span>circleView<span style="color: #000000;">:&nbsp;</span><span style="color: #9b2393;">some</span><span style="color: #000000;">&nbsp;</span><span style="color: #5c2699;">View</span><span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; <span style="color: #5c2699;">Circle</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>foregroundColor<span style="color: #000000;">(.</span><span style="color: #5c2699;">blue</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>shadow<span style="color: #000000;">(</span>color<span style="color: #000000;">: .</span><span style="color: #5c2699;">gray</span><span style="color: #000000;">,&nbsp;</span>radius<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">5</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>frame<span style="color: #000000;">(</span>width<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">150.0</span><span style="color: #000000;">,&nbsp;</span>height<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">150.0</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #9b2393;">var</span><span style="color: #000000;">&nbsp;</span>rectangleView<span style="color: #000000;">:&nbsp;</span><span style="color: #9b2393;">some</span><span style="color: #000000;">&nbsp;</span><span style="color: #5c2699;">View</span><span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp;&nbsp;</span>Rectangle<span style="color: #000000;">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>foregroundColor<span style="color: #000000;">(.</span><span style="color: #5c2699;">yellow</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>shadow<span style="color: #000000;">(</span>color<span style="color: #000000;">: .</span><span style="color: #5c2699;">gray</span><span style="color: #000000;">,&nbsp;</span>radius<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">5</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; .<span style="color: #3900a0;">offset</span>(<span style="color: #3900a0;">x</span>: -<span style="color: #1c00cf;">50</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>frame<span style="color: #000000;">(</span>width<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">150.0</span><span style="color: #000000;">,&nbsp;</span>height<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">200.0</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">}</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">#Preview<span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span>ContentView<span style="color: #000000;">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px; font-family: Menlo-Regular;">}</span></p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12">No errors or warnings! We should be good to go. Run this in the preview window or simulator.</p><p class="ewgsStyle12"><br></p><p><span class="fr-video fr-deletable fr-fvc fr-dvb fr-draggable fr-active" contenteditable="false" draggable="true"><video class="fr-draggable" controls="" style="width: 238px; height: 434px;"><source src="{!-ASSETSPATH-!}External%20Files/Animation%20without%20MGE.mp4"></video></span></p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12">Hmmm. That&rsquo;s not what we want. SwiftUI is doing something - it&rsquo;s fading out the circle and fading in the rectangle. To see the difference, comment out the .animation(.bouncy) modifier. But where&rsquo;s our smooth blending from one view to the other and the subtle bounce effect? Clearly, SwiftUI doesn&rsquo;t have enough information to do what we want, even though this appears to be valid code. In my opinion a compiler warning would be nice here, but Xcode is silent.</p><p class="ewgsStyle12">The additional information that SwiftUI needs is provided by an instance method called matchedGeometryEffect(), which the Apple documentation tells us,&nbsp;</p><p class="ewgsStyle12" style="text-align: center;"><span style="font-family: AvenirNext-MediumItalic;">&quot;Defines a group of views with synchronized geometry using an identifier and namespace that you provide.&quot;</span></p><p class="ewgsStyle12">To use it, we have to add this method to each of the views we want to animate. Here&rsquo;s how:</p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><br></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="color: rgb(155, 35, 147); font-size: 16px; font-family: Menlo-Regular;">i</span><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: rgb(155, 35, 147);">mport</span> SwiftUI</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(11, 79, 121);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #9b2393;">struct</span><span style="color: #000000;">&nbsp;</span>ContentView<span style="color: #000000;">:&nbsp;</span><span style="color: #5c2699;">View</span><span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(155, 35, 147);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #5c2699;">@State</span><span style="color: #000000;">&nbsp;</span>private<span style="color: #000000;">&nbsp;</span>var<span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">showRectangle</span><span style="color: #000000;">&nbsp;=&nbsp;</span>false</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #5c2699;">@Namespace</span><span style="color: #000000;">&nbsp;</span><span style="color: #9b2393;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #9b2393;">var</span><span style="color: #000000;">&nbsp;</span>myAnimation</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; <span style="color: #9b2393;">var</span> <span style="color: #0f68a0;">body</span>: <span style="color: #9b2393;">some</span> <span style="color: #5c2699;">View</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; <span style="color: #5c2699;">VStack</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #5c2699;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #9b2393;">if</span><span style="color: #000000;">&nbsp;</span>showRectangle<span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>rectangleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; } <span style="color: #9b2393;">else</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>circleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #5c2699;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(196, 26, 22);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #5c2699;">Toggle</span><span style="color: #000000;">(</span>&quot;Show the rectangle&quot;<span style="color: #000000;">,&nbsp;</span><span style="color: #3900a0;">isOn</span><span style="color: #000000;">:&nbsp;</span><span style="color: #326d74;">$showRectangle</span><span style="color: #000000;">.</span><span style="color: #3900a0;">animation</span><span style="color: #000000;">(.</span><span style="color: #5c2699;">bouncy</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; )</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; .<span style="color: #3900a0;">padding</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #9b2393;">var</span><span style="color: #000000;">&nbsp;</span>circleView<span style="color: #000000;">:&nbsp;</span><span style="color: #9b2393;">some</span><span style="color: #000000;">&nbsp;</span><span style="color: #5c2699;">View</span><span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; <span style="color: #5c2699;">Circle</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>foregroundColor<span style="color: #000000;">(.</span><span style="color: #5c2699;">blue</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>shadow<span style="color: #000000;">(</span>color<span style="color: #000000;">: .</span><span style="color: #5c2699;">gray</span><span style="color: #000000;">,&nbsp;</span>radius<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">5</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>matchedGeometryEffect<span style="color: #000000;">(</span>id<span style="color: #000000;">:&nbsp;</span><span style="color: #c41a16;">&quot;ID&quot;</span><span style="color: #000000;">,&nbsp;</span>in<span style="color: #000000;">:&nbsp;</span><span style="color: #326d74;">myAnimation</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>frame<span style="color: #000000;">(</span>width<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">150.0</span><span style="color: #000000;">,&nbsp;</span>height<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">150.0</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #9b2393;">var</span><span style="color: #000000;">&nbsp;</span>rectangleView<span style="color: #000000;">:&nbsp;</span><span style="color: #9b2393;">some</span><span style="color: #000000;">&nbsp;</span><span style="color: #5c2699;">View</span><span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp;&nbsp;</span>Rectangle<span style="color: #000000;">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>foregroundColor<span style="color: #000000;">(.</span><span style="color: #5c2699;">yellow</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>shadow<span style="color: #000000;">(</span>color<span style="color: #000000;">: .</span><span style="color: #5c2699;">gray</span><span style="color: #000000;">,&nbsp;</span>radius<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">5</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>matchedGeometryEffect<span style="color: #000000;">(</span>id<span style="color: #000000;">:&nbsp;</span><span style="color: #c41a16;">&quot;ID&quot;</span><span style="color: #000000;">,&nbsp;</span>in<span style="color: #000000;">:&nbsp;</span><span style="color: #326d74;">myAnimation</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; .<span style="color: #3900a0;">offset</span>(<span style="color: #3900a0;">x</span>: -<span style="color: #1c00cf;">50</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>frame<span style="color: #000000;">(</span>width<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">150.0</span><span style="color: #000000;">,&nbsp;</span>height<span style="color: #000000;">:&nbsp;</span><span style="color: #1c00cf;">200.0</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">}</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 9px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">#Preview<span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span>ContentView<span style="color: #000000;">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 8px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px; font-family: Menlo-Regular;">}</span></p><p><br></p><p class="ewgsStyle12">That works! The matchedGeometryEffect method takes a @Namespace property wrapper which we&rsquo;ve called myAnimation and an id. It uses these to give SwiftUI enough information to synchronize the geometries of our two views, creating the appearance of a smooth transition from one to the other.</p><p class="ewgsStyle12">The matchedGeometryEffect method is pretty magical, but it can be tricky to use. For instance, view modifiers that affect the geometry of a view must appear after .matchedGeometryEffect() in your code, just as I&rsquo;ve done with the .offset() and .frame() modifiers.</p><p class="ewgsStyle12">Our code works as expected and should be fine in the majority of cases, but can we do better? I suggested <a href="internal://E72257678B59443CADEEF8785DB3C228/7DF27E1C83C7428EA704DB518F189782">here</a> that conditional statements inside a view might not be ideal. While the SwiftUI ViewBuilder can handle conditional content, there are the previously noted animation issues as well as potential performance issues related to the complexity of the view hierarchy. For a deep dive I recommend watching <a href="https://developer.apple.com/videos/play/wwdc2021/10022/">this</a> WWDC21 talk, but for now, let&rsquo;s see if we can achieve the same result without an if&hellip;else conditional.</p><p class="ewgsStyle12">You might be tempted to use a ternary operator inside our view like we did &nbsp;<a href="internal://E72257678B59443CADEEF8785DB3C228/7DF27E1C83C7428EA704DB518F189782">here</a>, but that won&rsquo;t work here because body returns an opaque View of type &#39;some View&#39;. Because a ternary operator in this case contains two different views (either a circle or a rectangle), Xcode will give you an error. And from a SwiftUI performance perspective, it&rsquo;s actually better to always include both views in our view hierarchy<span style="font-family: Calibri; font-size: 18px;">&nbsp;</span>and to use modifiers to alter their appearance.</p><p class="ewgsStyle12">In this case, the modifier we want to use is opacity. In the initial state we want the circle&rsquo;s opacity to be 1 and the rectangle&rsquo;s opacity to be 0. When the user slides the toggle to show the rectangle, we want the circle&rsquo;s opacity to be 0 and the rectangle&rsquo;s opacity to be 1. Let&rsquo;s give it a try by changing our body:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;<span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span> <span style="color: #0f68a0;">body</span>: <span style="color: rgba(180, 0, 98, 0.8);"><strong>some</strong></span> <span style="color: #2e0d6e;">View</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; <span style="color: #2e0d6e;">VStack</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #2e0d6e;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #2e0d6e;">ZStack</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>rectangleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span style="color: #5c2699;">opacity</span>(<span style="color: #3b7f89;">showRectangle</span> ? <span style="color: #000bff;">1</span> : <span style="color: #000bff;">0</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>circleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span style="color: #5c2699;">opacity</span>(<span style="color: #3b7f89;">showRectangle</span> ? <span style="color: #000bff;">0</span> : <span style="color: #000bff;">1</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #2e0d6e;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(186, 0, 17);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #2e0d6e;">Toggle</span><span style="color: #000000;">(</span>&quot;Show the rectangle&quot;<span style="color: #000000;">,&nbsp;</span><span style="color: #5c2699;">isOn</span><span style="color: #000000;">:&nbsp;</span><span style="color: #3b7f89;">$showRectangle</span><span style="color: #000000;">.</span><span style="color: #5c2699;">animation</span><span style="color: #000000;">(.</span><span style="color: #5c2699;">bouncy</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; )</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>padding<span style="color: #000000;">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12">No errors, but our animation is broken again and our circle isn&rsquo;t centered anymore!. Why? Using matchedGeometryEffect() can be more complicated (and sometimes mysterious) than our first implementation. It actually accepts more parameters than we needed in our first solution, and in this case we need to use one of them called isSource. As the name implies, isSource is a Boolean that tells matchedGeometryEffect() which of the views it should use as the source when the view changes. In order to fix our animation, we need to make the circle the source when the rectangle will appear and vice versa. Fortunately, we already have a variable we can use to do this called showRectangle.</p><p class="ewgsStyle12">Here&rsquo;s the final implementation:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="color: rgba(180, 0, 98, 0.8);"><strong><span style="font-size: 16px; font-family: Menlo-Regular;">import</span></strong></span><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;SwiftUI</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 21px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(0, 73, 117);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: rgba(180, 0, 98, 0.8);"><strong>struct</strong></span><span style="color: #000000;">&nbsp;</span>ContentView<span style="color: #000000;">:&nbsp;</span><span style="color: #2e0d6e;">View</span><span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(180, 0, 98, 0.8);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #2e0d6e;">@State</span><span style="color: #000000;">&nbsp;</span><strong>private</strong><span style="color: #000000;">&nbsp;</span><strong>var</strong><span style="color: #000000;">&nbsp;</span><span style="color: #0f68a0;">showRectangle</span><span style="color: #000000;">&nbsp;=&nbsp;</span><strong>false</strong></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #2e0d6e;">@Namespace</span><span style="color: #000000;">&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>private</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>myAnimation</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 21px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; <span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span> <span style="color: #0f68a0;">body</span>: <span style="color: rgba(180, 0, 98, 0.8);"><strong>some</strong></span> <span style="color: #2e0d6e;">View</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; <span style="color: #2e0d6e;">VStack</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #2e0d6e;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #2e0d6e;">ZStack</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>rectangleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span style="color: #5c2699;">opacity</span>(<span style="color: #3b7f89;">showRectangle</span> ? <span style="color: #000bff;">1</span> : <span style="color: #000bff;">0</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(59, 127, 137);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>circleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span style="color: #5c2699;">opacity</span>(<span style="color: #3b7f89;">showRectangle</span> ? <span style="color: #000bff;">0</span> : <span style="color: #000bff;">1</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #2e0d6e;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(186, 0, 17);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #2e0d6e;">Toggle</span><span style="color: #000000;">(</span>&quot;Show the rectangle&quot;<span style="color: #000000;">,&nbsp;</span><span style="color: #5c2699;">isOn</span><span style="color: #000000;">:&nbsp;</span><span style="color: #3b7f89;">$showRectangle</span><span style="color: #000000;">.</span><span style="color: #5c2699;">animation</span><span style="color: #000000;">(.</span><span style="color: #5c2699;">bouncy</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; )</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>padding<span style="color: #000000;">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 21px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>circleView<span style="color: #000000;">:&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>some</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #2e0d6e;">View</span><span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; <span style="color: #2e0d6e;">Circle</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>foregroundColor<span style="color: #000000;">(.</span>blue<span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>shadow<span style="color: #000000;">(</span>color<span style="color: #000000;">: .</span>gray<span style="color: #000000;">,&nbsp;</span>radius<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">5</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>matchedGeometryEffect<span style="color: #000000;">(</span>id<span style="color: #000000;">:&nbsp;</span><span style="color: #ba0011;">&quot;ID&quot;</span><span style="color: #000000;">,&nbsp;</span>in<span style="color: #000000;">:&nbsp;</span><span style="color: #3b7f89;">myAnimation</span><span style="color: #000000;">,&nbsp;</span>isSource<span style="color: #000000;">: !</span><span style="color: #3b7f89;">showRectangle</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>frame<span style="color: #000000;">(</span>width<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">150.0</span><span style="color: #000000;">,&nbsp;</span>height<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">150.0</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 21px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>rectangleView<span style="color: #000000;">:&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>some</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #2e0d6e;">View</span><span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(46, 13, 110);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp;&nbsp;</span>Rectangle<span style="color: #000000;">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>foregroundColor<span style="color: #000000;">(.</span>yellow<span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>shadow<span style="color: #000000;">(</span>color<span style="color: #000000;">: .</span>gray<span style="color: #000000;">,&nbsp;</span>radius<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">5</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>matchedGeometryEffect<span style="color: #000000;">(</span>id<span style="color: #000000;">:&nbsp;</span><span style="color: #ba0011;">&quot;ID&quot;</span><span style="color: #000000;">,&nbsp;</span>in<span style="color: #000000;">:&nbsp;</span><span style="color: #3b7f89;">myAnimation</span><span style="color: #000000;">,&nbsp;</span>isSource<span style="color: #000000;">:&nbsp;</span><span style="color: #3b7f89;">showRectangle</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; .<span style="color: #5c2699;">offset</span>(<span style="color: #5c2699;">x</span>: -<span style="color: #000bff;">50</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>frame<span style="color: #000000;">(</span>width<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">150.0</span><span style="color: #000000;">,&nbsp;</span>height<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">200.0</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">}</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 21px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">#Preview<span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(40, 75, 79);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span>ContentView<span style="color: #000000;">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px; font-family: Menlo-Regular;">}</span></p><p><br></p><p class="ewgsStyle12">Note that I&rsquo;ve attached the .opacity() modifiers to the rectangleView and circleView within the ZStack. &nbsp;I think this makes it easier to understand the behavior of the two views. But if you prefer to keep your view body as sparse as possible, you can add the .opacity() modifiers to the Circle() and Rectangle() inside the circleView and rectangleView variables, like this:</p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="color: #000000;">&nbsp;</span><span style="font-family: Menlo-Regular; font-size: 16px;"><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>circleView<span style="color: #000000;">:&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>some</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #2e0d6e;">View</span><span style="color: #000000;">&nbsp;{</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; <span style="color: #2e0d6e;">Circle</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>foregroundColor<span style="color: #000000;">(.</span>blue<span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>shadow<span style="color: #000000;">(</span>color<span style="color: #000000;">: .</span>gray<span style="color: #000000;">,&nbsp;</span>radius<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">5</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>matchedGeometryEffect<span style="color: #000000;">(</span>id<span style="color: #000000;">:&nbsp;</span><span style="color: #ba0011;">&quot;ID&quot;</span><span style="color: #000000;">,&nbsp;</span>in<span style="color: #000000;">:&nbsp;</span><span style="color: #3b7f89;">myAnimation</span><span style="color: #000000;">,&nbsp;</span>isSource<span style="color: #000000;">: !</span><span style="color: #3b7f89;">showRectangle</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>frame<span style="color: #000000;">(</span>width<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">150.0</span><span style="color: #000000;">,&nbsp;</span>height<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">150.0</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; .<span style="color: #5c2699;">opacity</span>(<span style="color: #3b7f89;">showRectangle</span> ? <span style="color: #000bff;">0</span> : <span style="color: #000bff;">1</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 21px;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>var</strong></span><span style="color: #000000;">&nbsp;</span>rectangleView<span style="color: #000000;">:&nbsp;</span><span style="color: rgba(180, 0, 98, 0.8);"><strong>some</strong></span><span style="color: #000000;">&nbsp;</span><span style="color: #2e0d6e;">View</span><span style="color: #000000;">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(46, 13, 110);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp;&nbsp;</span>Rectangle<span style="color: #000000;">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>foregroundColor<span style="color: #000000;">(.</span>yellow<span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>shadow<span style="color: #000000;">(</span>color<span style="color: #000000;">: .</span>gray<span style="color: #000000;">,&nbsp;</span>radius<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">5</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>matchedGeometryEffect<span style="color: #000000;">(</span>id<span style="color: #000000;">:&nbsp;</span><span style="color: #ba0011;">&quot;ID&quot;</span><span style="color: #000000;">,&nbsp;</span>in<span style="color: #000000;">:&nbsp;</span><span style="color: #3b7f89;">myAnimation</span><span style="color: #000000;">,&nbsp;</span>isSource<span style="color: #000000;">:&nbsp;</span><span style="color: #3b7f89;">showRectangle</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; .<span style="color: #5c2699;">offset</span>(<span style="color: #5c2699;">x</span>: -<span style="color: #000bff;">50</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(92, 38, 153);"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;"><span style="color: #000000;">&nbsp; &nbsp; &nbsp; .</span>frame<span style="color: #000000;">(</span>width<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">150.0</span><span style="color: #000000;">,&nbsp;</span>height<span style="color: #000000;">:&nbsp;</span><span style="color: #000bff;">200.0</span><span style="color: #000000;">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-size: 16px;"><span style="font-family: Menlo-Regular;">&nbsp; &nbsp; &nbsp; .<span style="color: #5c2699;">opacity</span>(<span style="color: #3b7f89;">showRectangle</span> ? <span style="color: #000bff;">1</span> : <span style="color: #000bff;">0</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-family: Menlo-Regular; font-size: 16px;">&nbsp; }</span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><br></p><p class="ewgsStyle12">We&rsquo;ve just scratched the surface of the power (and complexity) of matchedGeometryEffect(). You can read more about it <a href="https://developer.apple.com/documentation/swiftui/view/matchedgeometryeffect(id:in:properties:anchor:issource:)">here</a>.</p><p class="ewgsStyle12"><br></p><p class="ewgsStyle12"><br></p>]]></description>
<author></author>
</item>
<item>
<title><![CDATA[The Swift ternary conditional operator: From obscure to essential with SwiftUI]]></title>
<link>https://www.drowsydays.com/Drowsy-Days-blog/Entries/2023/12/the-swift-ternary-conditional-operator-from-obscure-to-essential-with-swiftui-1.html</link>
<guid isPermaLink="false">7DF27E1C83C7428EA704DB518F189782</guid>
<pubDate>Mon, 11 Dec 2023 19:17:17 GMT</pubDate>
<description><![CDATA[<h1 style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 20px;"><span style="font-family: AvenirNext-DemiBold;"><strong>Is your SwiftUI animation not doing what you expect it to? This might be why.</strong></span></span></h1><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-family: AvenirNext-Regular; font-size: 18px;"><strong>Level:&nbsp;</strong><span style="color: rgb(41, 105, 176);"><strong>Intermediate</strong></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">Ternary conditional operators (often called the ternary operator in Swift) are found in many programming languages.</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><br></p><p style="margin: 0in; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">They&rsquo;re called &ldquo;ternary&rdquo; because they take three inputs: A Boolean condition to evaluate, a result to return if that condition is true, and result to return if that condition is false.</span></span></p><p style="margin: 0in; text-align: left;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">In C like languages, including Swift, they take the form:</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><strong>condition ? value if true : value if false</strong></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">The condition can be any Boolean expression (it must evaluate to true or false).</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">In Swift, we can use it like this:</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>let</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>shouldShowItem<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;=&nbsp;</span><span style="color: #9b2393;"><strong>true</strong></span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>var</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>itemOpacity<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #3900a0;">Double</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">itemOpacity<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;=&nbsp;</span>shouldShowItem<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;?&nbsp;</span><span style="color: #1c00cf;">1.0</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;:&nbsp;</span><span style="color: rgb(28, 0, 207);">0.0</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">When this code runs, the value of itemOpacity will be set to 1.0. Why?</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">shouldShowItem is true, so the ternary operator in the third line returns a value of 1.0</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">If we change the value of shouldShowItem to false, the value of itemOpacity will be set to 0.0.</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">There&rsquo;s a more conventional way to achieve the same result:</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>let</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>shouldShowItem<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;=&nbsp;</span><span style="color: #9b2393;"><strong>true</strong></span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>var</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>itemOpacity<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #3900a0;">Double</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>if</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>shouldShowItem<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;&nbsp;</span>itemOpacity<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;=&nbsp;</span><span style="color: #1c00cf;">1.0</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">} <span style="color: #9b2393;"><strong>else</strong></span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;&nbsp;</span>itemOpacity<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;=&nbsp;</span><span style="color: #1c00cf;">0.0</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">}</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><br></p><p style="margin: 0in; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">Because many find the second example easier to read, the ternary operator wasn&rsquo;t used much prior to the introduction of SwiftUI. But if you&rsquo;re using SwiftUI, the ternary operator is essential. Even in circumstances where you can substitute a more conventional if&hellip;else statement, it&rsquo;s usually a bad idea. Let&rsquo;s see why.</span></span></p><p style="margin: 0in; text-align: left;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">We&rsquo;re going to build an app that does this:</span></span></p><p><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span contenteditable="false" draggable="true"><span class="fr-video fr-deletable fr-fvc fr-dvi fr-draggable" contenteditable="false"><video class="fr-draggable fr-fvc fr-dvi" controls="" style="width: 282px; height: 516px; text-align: left;"><source src="{!-ASSETSPATH-!}External%20Files/Success%20trimmed.mp4"></video></span></span></span></span></p><p><br></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">When the user slides the &ldquo;Enlarge the circle&rdquo; toggle to the on position, the circle get&rsquo;s bigger, with a nice bouncy animation.</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">This is remarkably easy to create using SwiftUI. It just takes a few lines of code, so let&rsquo;s give it a try.</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">in Xcode, create a new project. Select the App template and click &ldquo;Next&rdquo;.</span></span></p><p style="margin: 0in; text-align: left;"><span style="font-family: AvenirNext-Regular; font-size: 18px;">Enter a product name and organization identifier. Make sure the interface is SwiftUI, then click &ldquo;Next&rdquo;.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">Select ContentView.swift and edit it to look like this:</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>import</strong></span> SwiftUI</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(11, 79, 121); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>struct</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>ContentView<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #3900a0;">View</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(155, 35, 147); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><span style="color: #3900a0;">@State</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><strong>private</strong><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><strong>var</strong><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><span style="color: #0f68a0;">bigCircle</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;=&nbsp;</span><strong>false</strong></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; <span style="color: #9b2393;"><strong>var</strong></span> <span style="color: #0f68a0;">body</span>: <span style="color: #9b2393;"><strong>some</strong></span> <span style="color: #3900a0;">View</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; <span style="color: #3900a0;">VStack</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #3900a0;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #9b2393;"><strong>if</strong></span> <span style="color: #326d74;">bigCircle</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>circleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span style="color: #6c36a9;">frame</span>(<span style="color: #6c36a9;">width</span>: <span style="color: #1c00cf;">150.0</span>, <span style="color: #6c36a9;">height</span>: <span style="color: #1c00cf;">150.0</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; } <span style="color: #9b2393;"><strong>else</strong></span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>circleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span style="color: #6c36a9;">frame</span>(<span style="color: #6c36a9;">width</span>: <span style="color: #1c00cf;">50.0</span>, <span style="color: #6c36a9;">height</span>: <span style="color: #1c00cf;">50.0</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #3900a0;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(196, 26, 22); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #3900a0;">Toggle</span><span style="color: rgba(0, 0, 0, 0.85);">(</span>&quot;Enlarge the circle&quot;<span style="color: rgba(0, 0, 0, 0.85);">,&nbsp;</span><span style="color: #6c36a9;">isOn</span><span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #326d74;">$bigCircle</span><span style="color: rgba(0, 0, 0, 0.85);">.</span><span style="color: #6c36a9;">animation</span><span style="color: rgba(0, 0, 0, 0.85);">(.</span><span style="color: #6c36a9;">bouncy</span><span style="color: rgba(0, 0, 0, 0.85);">))</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; &nbsp; .</span>padding<span style="color: rgba(0, 0, 0, 0.85);">([.</span>top<span style="color: rgba(0, 0, 0, 0.85);">, .</span>leading<span style="color: rgba(0, 0, 0, 0.85);">, .</span>trailing<span style="color: rgba(0, 0, 0, 0.85);">])</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;&nbsp;</span><span style="color: #9b2393;"><strong>var</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>circleView<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #9b2393;"><strong>some</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><span style="color: #3900a0;">View</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; <span style="color: #3900a0;">Circle</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; .</span>foregroundColor<span style="color: rgba(0, 0, 0, 0.85);">(.</span>blue<span style="color: rgba(0, 0, 0, 0.85);">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; .</span>shadow<span style="color: rgba(0, 0, 0, 0.85);">(</span>color<span style="color: rgba(0, 0, 0, 0.85);">: .</span>gray<span style="color: rgba(0, 0, 0, 0.85);">,&nbsp;</span>radius<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #1c00cf;">5</span><span style="color: rgba(0, 0, 0, 0.85);">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">}</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">#Preview<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(28, 70, 74); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;&nbsp;</span>ContentView<span style="color: rgba(0, 0, 0, 0.85);">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">}</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">Voila! No warnings or errors.</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">Our toggle changes the value of the State boolean variable named bigCircle.</span></span></p><p style="margin: 0in; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">We define a circleView that&rsquo;s a blue circle with a gray shadow.</span></span></p><p style="margin: 0in; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">We use this circleView in the body of our view. We use an if&hellip;else conditional statement to draw circleView in two different sizes depending on the value of bigCircle.</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">With just a few lines of code we&rsquo;ve drawn a small blue circle at the center of the screen and given the user a toggle so they can change the size of the circle. Because everyone loves animation, we&rsquo;ve added a bouncy animation modifier to our toggle.</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">Make sure your preview is in live mode and click the toggle.</span></span></p><p><span style="font-family: AvenirNext-Regular; font-size: 18px;"><span contenteditable="false" draggable="true"><span class="fr-video fr-deletable fr-fvc fr-dvi fr-draggable" contenteditable="false"><video class="fr-draggable fr-fvc fr-dvi" controls="" style="width: 367px; height: 472px; text-align: left;"><source src="{!-ASSETSPATH-!}External%20Files/Failure%20trimmed.mp4"></video></span></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">Our code compiles and runs without errors, but something&rsquo;s wrong.</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">Where&rsquo;s our nice bouncy animation?&nbsp;</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">Animations in SwiftUI are powerful and simple to implement. So simple that we can just add the .animation() method to a binding that changes state and SwiftUI will render all the intermediate steps needed to create a smooth animation from one state to the other. But it only works as intended when the change is confined to a single view. In our code we&rsquo;ve defined a view called circleView. We use it here:</span></span></p><p style="margin: 0in; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #9b2393;"><strong>if</strong></span> <span style="color: #326d74;">bigCircle</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>circleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span style="color: #6c36a9;">frame</span>(<span style="color: #6c36a9;">width</span>: <span style="color: #1c00cf;">150.0</span>, <span style="color: #6c36a9;">height</span>: <span style="color: #1c00cf;">150.0</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; } <span style="color: #9b2393;"><strong>else</strong></span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>circleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span style="color: #6c36a9;">frame</span>(<span style="color: #6c36a9;">width</span>: <span style="color: #1c00cf;">50.0</span>, <span style="color: #6c36a9;">height</span>: <span style="color: #1c00cf;">50.0</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; }</span></span></p><p style="margin: 0in; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">It&rsquo;s the only view we use, but in SwiftUI these two instances of circleView are <strong>two different views</strong>. Why? Because the Circle shape we use is a struct, and structs are value types, not reference types. Here&rsquo;s the definition of Circle.</span></span><span style="font-size: 14px;"><span style="font-family: Menlo-Regular;">&nbsp;<strong style="color: rgb(155, 35, 147); font-family: Menlo; font-size: 12px; font-style: normal; font-variant-caps: normal;">@frozen</strong><span style="color: rgba(0, 0, 0, 0.85); font-style: normal; font-variant-caps: normal;">&nbsp;</span><strong style="color: rgb(155, 35, 147); font-family: Menlo; font-size: 12px; font-style: normal; font-variant-caps: normal;">public</strong><span style="color: rgba(0, 0, 0, 0.85); font-style: normal; font-variant-caps: normal;">&nbsp;</span><strong style="color: rgb(155, 35, 147); font-family: Menlo; font-size: 12px; font-style: normal; font-variant-caps: normal;">struct</strong><span style="color: rgba(0, 0, 0, 0.85); font-style: normal; font-variant-caps: normal;">&nbsp;</span><span style="color: rgb(11, 79, 121); font-style: normal; font-variant-caps: normal;">Circle</span><span style="color: rgba(0, 0, 0, 0.85); font-style: normal; font-variant-caps: normal;">&nbsp;:&nbsp;</span><span style="color: rgb(57, 0, 160); font-style: normal; font-variant-caps: normal;">Shape</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span><span style="caret-color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);">&hellip;</span><span style="color: rgba(0, 0, 0, 0.85);">}.</span></span></span><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp;It&rsquo;s a struct that conforms to the Shape protocol.&nbsp;</span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">In SwiftUI, all views are structs. So even if we write:</span></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>if</strong></span> <span style="color: #326d74;">bigCircle</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #3900a0;">Circle</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; } <span style="color: #9b2393;"><strong>else</strong></span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #3900a0;">Circle</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">SwiftUI treats each <span style="color: #3900a0;">Circle</span>()&nbsp;as a different view, just as if we&rsquo;ve written:</span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>if</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>bigCircle<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3900a0;">Circle</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; } <span style="color: #9b2393;"><strong>else</strong></span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3900a0;">Rectangle</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">So why don&rsquo;t we get an error message when we try to apply <span style="color: rgba(0, 0, 0, 0.85);">.</span><span style="color: rgb(108, 54, 169);">animation</span><span style="color: rgba(0, 0, 0, 0.85);">(.</span><span style="color: rgb(108, 54, 169);">bouncy</span><span style="color: rgba(0, 0, 0, 0.85);">)?&nbsp;It</span><span style="caret-color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);">&rsquo;</span><span style="color: rgba(0, 0, 0, 0.85);">d be nice if we did, but as far as the compiler is concerned, this is valid code. And at runtime it</span><span style="caret-color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);">&rsquo;</span><span style="color: rgba(0, 0, 0, 0.85);">s actually trying to do what we ask. If you remove <span style="color: rgba(0, 0, 0, 0.85);">.</span><span style="color: rgb(108, 54, 169);">animation</span><span style="color: rgba(0, 0, 0, 0.85);">(.</span><span style="color: rgb(108, 54, 169);">bouncy</span><span style="color: rgba(0, 0, 0, 0.85);">)</span> from your code, you</span><span style="caret-color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);">&rsquo;</span><span style="color: rgba(0, 0, 0, 0.85);">ll see the difference. SwiftUI is trying to animate between two different views, but it</span><span style="caret-color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);">&rsquo;</span><span style="color: rgba(0, 0, 0, 0.85);">s not what we want.</span></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">To fix this we need to restrict&nbsp;</span><span style="caret-color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);">our</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;animation to a single view. You might be tempted to try this:</span></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(57, 0, 160); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">Circle<span style="color: rgba(0, 0, 0, 0.85);">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; .</span>frame<span style="color: rgba(0, 0, 0, 0.85);">(</span>width<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #1c00cf;">50.0</span><span style="color: rgba(0, 0, 0, 0.85);">,&nbsp;</span>height<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #1c00cf;">50.0</span><span style="color: rgba(0, 0, 0, 0.85);">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp;&nbsp;</span><span style="color: #9b2393;"><strong>if</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>bigCircle<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; .</span>frame<span style="color: rgba(0, 0, 0, 0.85);">(</span>width<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #1c00cf;">150.0</span><span style="color: rgba(0, 0, 0, 0.85);">,&nbsp;</span>height<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #1c00cf;">50.0</span><span style="color: rgba(0, 0, 0, 0.85);">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">But you&rsquo;ll get an error that says, &quot;Reference to member &#39;frame&#39; cannot be resolved without a contextual type&rdquo;, because the compiler has no way of knowing what view you want to apply &nbsp;<span style="color: rgba(0, 0, 0, 0.85);">.</span>frame<span style="color: rgba(0, 0, 0, 0.85);">(</span>width<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #1c00cf;">150.0</span><span style="color: rgba(0, 0, 0, 0.85);">,&nbsp;</span>height<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #1c00cf;">50.0</span><span style="color: rgba(0, 0, 0, 0.85);">) to.</span></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">There are a couple of ways to solve this problem. Here</span><span style="caret-color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);">&rsquo;</span><span style="color: rgba(0, 0, 0, 0.85);">s one way:</span></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>import</strong></span> SwiftUI</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(11, 79, 121); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>struct</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>ContentView<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #3900a0;">View</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(155, 35, 147); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;&nbsp;</span><span style="color: #3900a0;">@State</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><strong>private</strong><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><strong>var</strong><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><span style="color: #0f68a0;">bigCircle</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;=&nbsp;</span><strong>false</strong></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; <span style="color: #9b2393;"><strong>var</strong></span> <span style="color: #0f68a0;">body</span>: <span style="color: #9b2393;"><strong>some</strong></span> <span style="color: #3900a0;">View</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; <span style="color: #3900a0;">VStack</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #3900a0;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp;&nbsp;</span>circleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; &nbsp; .<span style="color: #6c36a9;">frame</span>(<span style="color: #6c36a9;">width</span>: <span style="color: #326d74;">mySize</span>, <span style="color: #6c36a9;">height</span>: <span style="color: #326d74;">mySize</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #3900a0;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(196, 26, 22); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #3900a0;">Toggle</span><span style="color: rgba(0, 0, 0, 0.85);">(</span>&quot;Enlarge the circle&quot;<span style="color: rgba(0, 0, 0, 0.85);">,&nbsp;</span><span style="color: #6c36a9;">isOn</span><span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #326d74;">$bigCircle</span><span style="color: rgba(0, 0, 0, 0.85);">.</span><span style="color: #6c36a9;">animation</span><span style="color: rgba(0, 0, 0, 0.85);">(.</span><span style="color: #6c36a9;">bouncy</span><span style="color: rgba(0, 0, 0, 0.85);">))</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; &nbsp; .</span>padding<span style="color: rgba(0, 0, 0, 0.85);">([.</span>top<span style="color: rgba(0, 0, 0, 0.85);">, .</span>leading<span style="color: rgba(0, 0, 0, 0.85);">, .</span>trailing<span style="color: rgba(0, 0, 0, 0.85);">])</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;&nbsp;</span><span style="color: #9b2393;"><strong>var</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>circleView<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #9b2393;"><strong>some</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><span style="color: #3900a0;">View</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; <span style="color: #3900a0;">Circle</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; .</span>foregroundColor<span style="color: rgba(0, 0, 0, 0.85);">(.</span>blue<span style="color: rgba(0, 0, 0, 0.85);">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; .</span>shadow<span style="color: rgba(0, 0, 0, 0.85);">(</span>color<span style="color: rgba(0, 0, 0, 0.85);">: .</span>gray<span style="color: rgba(0, 0, 0, 0.85);">,&nbsp;</span>radius<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #1c00cf;">5</span><span style="color: rgba(0, 0, 0, 0.85);">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; <span style="color: #9b2393;"><strong>var</strong></span> <span style="color: #0f68a0;">mySize</span>: <span style="color: #3900a0;">Double</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp;&nbsp;</span><span style="color: #9b2393;"><strong>if</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>bigCircle<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #9b2393;"><strong>return</strong></span> <span style="color: #1c00cf;">150</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; } <span style="color: #9b2393;"><strong>else</strong></span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #9b2393;"><strong>return</strong></span> <span style="color: #1c00cf;">50</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">}</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">#Preview<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(28, 70, 74); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;&nbsp;</span>ContentView<span style="color: rgba(0, 0, 0, 0.85);">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">}</span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">Here we&rsquo;ve added a computed variable called mySize. Its value changes when the value of bigCircle changes. Because there&rsquo;s a single circleView, this works as expected.</span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><br></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">But there&rsquo;s a simpler way to do this that doesn&rsquo;t require a computed variable or an if&hellip;else statement. &nbsp;We can simply make use of Swift&rsquo;s ternary operator to dynamically change the size of our circle when bigCircle changes.&nbsp;</span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>import</strong></span> SwiftUI</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(11, 79, 121); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: #9b2393;"><strong>struct</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>ContentView<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #3900a0;">View</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(155, 35, 147); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;&nbsp;</span><span style="color: #3900a0;">@State</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><strong>private</strong><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><strong>var</strong><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><span style="color: #0f68a0;">bigCircle</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;=&nbsp;</span><strong>false</strong></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; <span style="color: #9b2393;"><strong>var</strong></span> <span style="color: #0f68a0;">body</span>: <span style="color: #9b2393;"><strong>some</strong></span> <span style="color: #3900a0;">View</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; <span style="color: #3900a0;">VStack</span> {</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #3900a0;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(50, 109, 116); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>circleView</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; .<span style="color: #6c36a9;">frame</span>(<span style="color: #6c36a9;">width</span>: <span style="color: #326d74;">bigCircle</span> ? <span style="color: #1c00cf;">150</span> : <span style="color: #1c00cf;">50</span>, <span style="color: #6c36a9;">height</span>: <span style="color: #326d74;">bigCircle</span> ? <span style="color: #1c00cf;">150</span> : <span style="color: #1c00cf;">50</span>)</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; &nbsp; <span style="color: #3900a0;">Spacer</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(196, 26, 22); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #3900a0;">Toggle</span><span style="color: rgba(0, 0, 0, 0.85);">(</span>&quot;Enlarge the circle&quot;<span style="color: rgba(0, 0, 0, 0.85);">,&nbsp;</span><span style="color: #6c36a9;">isOn</span><span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #326d74;">$bigCircle</span><span style="color: rgba(0, 0, 0, 0.85);">.</span><span style="color: #6c36a9;">animation</span><span style="color: rgba(0, 0, 0, 0.85);">(.</span><span style="color: #6c36a9;">bouncy</span><span style="color: rgba(0, 0, 0, 0.85);">))</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; &nbsp; .</span>padding<span style="color: rgba(0, 0, 0, 0.85);">([.</span>top<span style="color: rgba(0, 0, 0, 0.85);">, .</span>leading<span style="color: rgba(0, 0, 0, 0.85);">, .</span>trailing<span style="color: rgba(0, 0, 0, 0.85);">])</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp;&nbsp;</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(15, 104, 160); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;&nbsp;</span><span style="color: #9b2393;"><strong>var</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span>circleView<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #9b2393;"><strong>some</strong></span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;</span><span style="color: #3900a0;">View</span><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; &nbsp; <span style="color: #3900a0;">Circle</span>()</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; .</span>foregroundColor<span style="color: rgba(0, 0, 0, 0.85);">(.</span>blue<span style="color: rgba(0, 0, 0, 0.85);">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp; &nbsp; &nbsp; .</span>shadow<span style="color: rgba(0, 0, 0, 0.85);">(</span>color<span style="color: rgba(0, 0, 0, 0.85);">: .</span>gray<span style="color: rgba(0, 0, 0, 0.85);">,&nbsp;</span>radius<span style="color: rgba(0, 0, 0, 0.85);">:&nbsp;</span><span style="color: #1c00cf;">5</span><span style="color: rgba(0, 0, 0, 0.85);">)</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">&nbsp; }</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">}</span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); min-height: 14px; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(108, 54, 169); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">#Preview<span style="color: rgba(0, 0, 0, 0.85);">&nbsp;{</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(28, 70, 74); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgba(0, 0, 0, 0.85);">&nbsp;&nbsp;</span>ContentView<span style="color: rgba(0, 0, 0, 0.85);">()</span></span></span></p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgba(0, 0, 0, 0.85); text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">}</span></span></p><p style='margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(93, 108, 121); text-align: left;'><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style='margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(93, 108, 121); text-align: left;'><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><span style="color: rgb(0, 0, 0);">Everything needed to make this work is in a single line of code</span>:&nbsp;.<span style="color: #6c36a9;">frame</span>(<span style="color: #6c36a9;">width</span>: <span style="color: #326d74;">bigCircle</span> ? <span style="color: #1c00cf;">150</span> : <span style="color: #1c00cf;">50</span>, <span style="color: #6c36a9;">height</span>: <span style="color: #326d74;">bigCircle</span> ? <span style="color: #1c00cf;">150</span> : <span style="color: #1c00cf;">50</span>)</span></span></p><p style='margin: 0px; font-style: normal; font-variant-caps: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: rgb(93, 108, 121); text-align: left;'><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">We don<span style="caret-color: rgb(93, 108, 121);">&rsquo;</span>t need a computed variable. Thanks to the ternary operator, we can dynamically change the width and height of the circle when bigCircle changes.</span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><br></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">At first, ternary operators may be more difficult to read than if&hellip;else conditionals. Just remember the they&rsquo;re functionally identical. So you can read our single line as &ldquo;If bigCircle, width = 150, else width = 50. If bigCircle, height = 150, else height = 50. &ldquo;&nbsp;</span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><span style="font-family: AvenirNext-Regular; font-size: 18px;">So how do we animate a change from one view to another? That&rsquo;s another topic for another day...</span></p><p style="margin: 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; text-align: left;"><br></p><p><br></p>]]></description>
<author></author>
</item>
<item>
<title><![CDATA[How to create iOS/iPadOS and Mac catalyst icons]]></title>
<link>https://www.drowsydays.com/Drowsy-Days-blog/Entries/2023/11/how-to-create-iosipados-and-mac-catalyst-icons.html</link>
<guid isPermaLink="false">BFE966D8BF2B48F98B4B44130F730561</guid>
<pubDate>Thu, 02 Nov 2023 18:10:30 GMT</pubDate>
<description><![CDATA[<p style="margin: 0in; font-family: Calibri, sans-serif; text-align: center;"><span style="font-family: AvenirNext-Regular; font-size: 14px;">*** &nbsp;I do not use affiliate links. Any product links are included solely because I find them useful. ***</span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: center;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: left;"><span style="font-family: AvenirNext-Regular; font-size: 18px;"><strong>Level:&nbsp;</strong><span style="color: rgb(0, 168, 133);"><strong>Easy</strong></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif; text-align: center;"><span style="font-family: AvenirNext-Regular;"><br></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;">If you&rsquo;re a solo developer, all tasks belong to you. That includes creating app icons and formatting them correctly for different platforms.</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><br></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;">Adding app icons to Xcode for iOS/iPadOS apps got much easier in Xcode 14.</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><br></span></p><p><span style="font-family: AvenirNext-Regular;"><span style="font-size: 12pt;"><strong>Step 1-</strong><strong>&nbsp;</strong>Create your icon as a 1024 x 1024 px .png file. I use&nbsp;</span><a href="https://apps.apple.com/us/app/pixelmator-pro/id1289583905?mt=12" rel="noopener noreferrer" target="_blank"><span style="font-size: 12pt;">Pixelmator Pro</span></a><span style="font-size: 12pt;">. (<span style="font-size: 12pt;">You&rsquo;ll find useful design guidelines for creating your icon&nbsp;</span></span><a href="https://developer.apple.com/design/human-interface-guidelines/app-icons" rel="noopener noreferrer" target="_blank"><span style="font-size: 12pt;"><span style="font-size: 12pt;">here</span></span></a><span style="font-size: 12pt;"><span style="font-size: 12pt;">)</span></span></span></p><p><span style="font-family: AvenirNext-Regular;"><span style="font-size: 12pt;"><strong>Step 2-</strong><strong>&nbsp;</strong><span style="font-size: 12pt;">In Xcode Assets.xcassets add an iOS App icon.</span></span></span></p><p><span style="font-family: AvenirNext-Regular;"><img data-fr-image-pasted="true" src="data:image/png;base64,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" style="width: 300px;" class="fr-fic fr-dib fr-fil"><br></span></p><p><span style="font-family: AvenirNext-Regular;"><span style="font-size: 12pt;"><strong>Step 3-</strong> <span style="font-size: 12pt;"><span style="font-size: 12pt;">In <span style="font-size: 12pt;">the Attributes inspector, select Single Size.</span></span></span></span></span></p><p><span style="font-family: AvenirNext-Regular;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><strong>Step 4-&nbsp;</strong><span style="font-size: 12pt;">Drag your image onto the 1024 x 1024 px placeholder<span style="font-size: 12pt;"><span style="font-size: 12pt;">.</span></span></span></span></span></span></span></span></span></p><p><span style="font-family: AvenirNext-Regular;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><span style="font-size: 12pt;"><strong>Step 5-</strong> <span style="font-size: 12pt;"><span style="font-size: 12pt;">In the <strong>General</strong> settings for your target, add the App Icon name to the <strong>App Icons and Launch Screen&nbsp;</strong>settings.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;">Xcode will generate all the image sizes required to submit your app.</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><br></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><br></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;"><strong>But what if you also want to submit a Mac Catalyst version of your app?</strong></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><br></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;">That&rsquo;s where things get more complicated, as I learned when I shipped a Mac Catalyst&nbsp;</span><a href="https://apple.co/3hXyyoy" rel="noopener noreferrer" target="_blank"><span style="font-size: 18px;">version</span></a><span style="font-size: 18px;">&nbsp;of &ldquo;</span><a href="https://apple.co/3GpLm0i" rel="noopener noreferrer" target="_blank"><span style="font-size: 18px;">Remembered: Back Up your Brain</span></a><span style="font-size: 18px;">&rdquo;</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><br></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;">I discovered two issues:</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><br></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;">1. <span style="font-size: 12pt;">Despite Apple&rsquo;s&nbsp;</span></span><a href="https://developer.apple.com/documentation/Xcode/configuring-your-app-icon" rel="noopener noreferrer" target="_blank"><span style="font-size: 18px;"><span style="font-size: 12pt;">documentation</span></span></a><span style="font-size: 18px;"><span style="font-size: 12pt;">&nbsp;which suggests otherwise, <span style="font-size: 12pt;">Xcode 14 doesn&rsquo;t have a single size option for macOS App Icons. As of Xcode 15, there&rsquo;s still no single size option for macOS.</span></span></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;"><span style="font-size: 12pt;"><span style="font-size: 12pt;">2. <span style="font-size: 12pt;">If you use your iOS icon artwork for your Mac Catalyst version, it&rsquo;s going to look odd because,</span></span></span></span></span></p><ul><li style="margin-top: 0in; margin-right: 0in; margin-bottom: 0in; font-family: AvenirNext-Regular;"><span style="font-size: 16px;">the borders won&rsquo;t be rounded, and</span></li><li style="margin-top: 0in; margin-right: 0in; margin-bottom: 0in; font-family: AvenirNext-Regular;"><span style="font-size: 18px;"><span style="font-size: 12pt;">It&rsquo;ll look about 24% bigger than most other Mac app icons.</span></span></li></ul><p><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;"><span style="font-size: 18px;">Technically, Apple recommends but doesn&rsquo;t require rounded corners or even a size that matches most macOS app icons. If you really want your app icon to have square corners, skip step 4 below.</span></span></span></p><p><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;"><span style="font-size: 18px;">Fortunately, it&rsquo;s easy to fix these issues. It&rsquo;s particularly easy to create macOS app icons if you&rsquo;re a Photoshop, Adobe XD or Sketch user. You&rsquo;ll find production templates from Apple&nbsp;</span></span><a href="https://developer.apple.com/design/resources/#macos-apps" rel="noopener noreferrer" target="_blank"><span style="font-size: 18px;"><span style="font-size: 18px;">here</span></span></a><span style="font-size: 18px;"><span style="font-size: 18px;">&nbsp;and can skip steps 1-5 below.</span></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;">I use&nbsp;</span></span><a href="https://apps.apple.com/us/app/pixelmator-pro/id1289583905?mt=12" rel="noopener noreferrer" target="_blank"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;">Pixelmator Pro</span></span></a><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;">&nbsp;for virtually all of my design needs, so I&rsquo;m going to use it to show you how to create a macOS app icon, but you should be able to recreate these simple steps in your preferred layer-based design environment. if it has basic features and can export a .png file, you&rsquo;re good to go.</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;"><br></span></span></p><p class="ewgsStyle8"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong>Step 1-</strong> Create an empty document with a 1024 x 1024 px image layer. Pixelmator Pro has a Preset for this called &ldquo;Mac App Icon 1024&rdquo;.</span></p><p class="ewgsStyle8"><span style="font-size: 16px;"><span style="font-family: AvenirNext-Regular;"><strong>Step 2-</strong> Change the opacity of the image layer to 0.</span></span></p><p class="ewgsStyle8"><span style="font-size: 16px;"><span style="font-family: AvenirNext-Regular;"><strong>Step 3-</strong> Add a new layer with a round rectangle. Center it and set its dimensions to 824 x 824 px.</span></span></p><p class="ewgsStyle8"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong>Step 4-</strong> Set the corner radius of your round rectangle to 185 px.</span></p><p class="ewgsStyle8"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><span style='font-size: 10pt; font-family: "Avenir Next", sans-serif;'>There&rsquo;s considerable debate about the correct corner radius on various forums and discussion boards. This is why using Apple&rsquo;s production templates is preferred if you have Sketch or XD. I chose 185 empirically by superimposing a round rectangle on top of Apple&rsquo;s macOS Monterey Photoshop production template. It may not be pixel perfect, but it&rsquo;s close. Others argue that the correct corner radius is anywhere from 160 to 228 px. A round corner isn&rsquo;t required, so use what works for you.</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><strong><span style="font-family: AvenirNext-Regular; font-size: 16px;">Step 5</span></strong><span style="font-family: AvenirNext-Regular; font-size: 16px;">- Apply a black shadow to the round rectangle with these parameters. This is also optional but will give your icon an appearance that&rsquo;s similar to most others that users will have in their docks.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><img data-fr-image-pasted="true" src="data:image/png;base64,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" style="width: 300px;" class="fr-fic fr-dib fr-fil"></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular; font-size: 18px;">Congratulations! You now have a template upon which to add the artwork for your icon.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;">All good, but how do you tell Xcode to use your iOS icon for an iOS archive and your macOS icon for your Mac Catalyst archive?</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular; font-size: 18px;">As noted above, Xcode doesn&rsquo;t (yet?) allow you to use a single .png file to generate all macOS icon sizes. <span style='font-family: "Avenir Next", sans-serif;'>You can generate these manually and drag them onto each placeholder, but do you really want to do that? I don&rsquo;t.</span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular; font-size: 18px;">There&rsquo;s a better way. In the Mac App Store you&rsquo;ll find many utilities that will take your .png file and generate the .appiconset folder that you can drop into Xcode. Some are free. I use &ldquo;</span><a href="https://apps.apple.com/us/app/assets-maker-for-xcode/id1561328879?mt=12" rel="noopener noreferrer" target="_blank"><span style="font-family: AvenirNext-Regular; font-size: 18px;">Assets Maker for Xcode</span></a><span style="font-family: AvenirNext-Regular; font-size: 18px;">&rdquo;. Grab a copy and follow along:</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in;"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong>Step 1-&nbsp;</strong>Open &ldquo;Assets Maker for Xcode&rdquo; or your preferred asset generator. Select Mac App, drag your mac icon .png file onto it and click &ldquo;Create Assets&rdquo;.</span></p><p style="margin: 0in;"><br></p><p style="margin: 0in;"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong>Step 2-&nbsp;</strong>Select a destination and name for your .appiconset file.</span></p><p style="margin: 0in;"><br></p><p style="margin: 0in;"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong>Step 3-&nbsp;</strong>T<span style='font-size: 12pt; font-family: "Avenir Next", sans-serif;'>his will create a folder containing a &ldquo;Contents.json&rdquo; file and .png files in various sizes.</span></span></span></p><p style="margin: 0in;"><br></p><p style="margin: 0in;"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong>Step 4-&nbsp;</strong></span></strong></span></strong>Drag this folder into Xcode Assets.xcassets.</span></p><p style="margin: 0in;"><br></p><p style="margin: 0in;"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong>Step 5-&nbsp;</strong></span></strong></span></strong></span></strong><span style="font-family: AvenirNext-Regular; font-size: 16px;"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><span style="font-family: AvenirNext-Regular; font-size: 16px;">I<span style='font-size: 12pt; font-family: "Avenir Next", sans-serif;'>n the Attributes inspector, change the iOS selection from &ldquo;None&rdquo; to &ldquo;Single Size&rdquo;</span></span></span></span></span></p><p style="margin: 0in;"><br></p><p style="margin: 0in;"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong><span style="font-family: AvenirNext-Regular; font-size: 16px;"><strong>Step 6-&nbsp;</strong></span></strong></span></strong></span></strong></span></strong><span style="font-family: AvenirNext-Regular; font-size: 16px;"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><span style="font-family: AvenirNext-Regular; font-size: 16px;"><span style="font-family: AvenirNext-Regular; font-size: 16px;">D</span></span></span></span>rag your iOS app icon .png file onto the iOS icon placeholder.</span></p><p style="margin: 0in;"><br></p><p style="margin: 0in;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular; font-size: 18px;"><strong>You&rsquo;re done!</strong> You now have an AppIcon that contains everything Xcode needs to generate icons for your iOS and Mac Catalyst archives.</span></p>]]></description>
<author></author>
</item>
<item>
<title><![CDATA[Essential design apps for solo Apple ecosystem developers]]></title>
<link>https://www.drowsydays.com/Drowsy-Days-blog/Entries/2023/3/essential-design-apps-for-solo-apple-ecosystem-developers.html</link>
<guid isPermaLink="false">0FD99E816E414EFDB8FA6052B7703F23</guid>
<pubDate>Thu, 16 Mar 2023 18:46:40 GMT</pubDate>
<description><![CDATA[<p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px; font-family: AvenirNext-Regular;">Developing and distributing apps by yourself can be incredibly rewarding, but the effort involved can seem overwhelming if you&rsquo;re just starting out. You don&rsquo;t just need to write and maintain a great app, you need to create all of the assets required by Apple to get your app accepted and noticed. You also need a website to promote your app, support your users and host the required privacy policy. You may be able to write amazing code, but are you also an accomplished graphics designer, video editor, web developer and marketer? I&rsquo;m not.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;"><br></span></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-family: AvenirNext-Regular;"><span style="font-size: 18px;">In this post, I&rsquo;ll review some of the tools I rely on as a solo independent developer of apps like&nbsp;</span><a href="https://apple.co/3GpLm0i"><span style="font-size: 18px;">Remembered&nbsp;for iOS</span></a><span style="font-size: 18px;">,&nbsp;</span><a href="https://apple.co/3hXyyoy"><span style="font-size: 18px;">Remembered for Mac</span></a><span style="font-size: 18px;">&nbsp;and&nbsp;</span><a href="https://apple.co/2N4cpFx"><span style="font-size: 18px;">Silly Sounds</span></a></span><span style="font-size: 18px; font-family: AvenirNext-Regular;">. Most of them are free. The others are reasonably priced. They all have a relatively quick learning curve. I list them here in no particular order. These are the apps and tools I rely on. The links are provided for your convenience.&nbsp;</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px;"><em><strong>*** I do not participate in affiliate programs or otherwise receive compensation if you click a link or purchase one of these. ***</strong></em></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><a href="https://developer.apple.com/sf-symbols/"><strong><span style="font-size: 24px;">SF Symbols</span></strong></a></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px; font-family: AvenirNext-Regular;">Don&rsquo;t even think about creating your own symbols/icons for use in your app without searching Apple&rsquo;s free, expansive, versatile library. They integrate seamlessly with SwiftUI and UIKit. Can&rsquo;t find what you need in this 4000+ symbol library? You can modify what&rsquo;s there or even create your own.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><a href="https://www.pixelmator.com/pro/"><strong><span style="font-size: 24px;">Pixelmator Pro</span></strong></a></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><strong>&nbsp;</strong></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px; font-family: AvenirNext-Regular;">I use Pixelmator Pro for practically everything other than coding. It&rsquo;s an intuitive, powerful tool for drawing, illustrating and editing images. In order to submit your app to Apple, you&rsquo;re going to need to create an app icon and screenshots for all supported devices. The specifications are <a href="https://help.apple.com/app-store-connect/#/devd274dd925">here</a>. Miss by one pixel and your app submission isn&rsquo;t going anywhere. Pixelmator Pro has everything you need, and recently added templates make it even easier. It&rsquo;s reasonably priced and a pleasure to use. Download the free trial and give it a try.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><a href="https://rotato.app"><strong><span style="font-size: 24px;">Rotato</span></strong></a></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><strong>&nbsp;</strong></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px; font-family: AvenirNext-Regular;">Rotato boasts &ldquo;3D mockup images and movies in minutes&rdquo; and that&rsquo;s no exaggeration. If you&rsquo;ve seen high resolution iPhones, iPads, Macs or other devices sliding, spinning or flipping across your TV or other screens, chances are you&rsquo;ve seen Rotato in action. It&rsquo;s that near impossible blend of power and ease of use that most of us can only dream about achieving. Record your app in action in the Xcode simulator or on a device, then use Rotato to make it look like it came from a high-end video production studio. I also use it to create high quality app screenshot images for submission to the App Store. Pixelmator Pro recently added templates that make it easier to do this, but Rotato can generate iPhone screenshots (which it calls &ldquo;snapshots&rdquo;) for all iPhone sizes in one click.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><a href="https://www.apple.com/imovie/"><span style="font-size: 24px;"><strong>iMovie</strong></span></a></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><strong>&nbsp;</strong></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px; font-family: AvenirNext-Regular;">App previews aren&rsquo;t required but are highly recommended. Having at least one increases the likelihood that your app will be noticed in the app store. Like screenshots, the&nbsp;</span><span style="font-size: 18px;"><span style="font-family: AvenirNext-Regular;"><a href="https://developer.apple.com/help/app-store-connect/reference/app-preview-specifications">specifications</a> for app previews can seem overwhelming. iMovie simplifies this process by giving you the ability to create and export properly formatted videos. Record your app in action using the Xcode simulator or on a device, then follow <a href="https://support.apple.com/guide/imovie/create-an-app-preview-movd5d987b5d/10.3.5/mac/11.5.1">this guide</a></span></span><span style="font-size: 18px; font-family: AvenirNext-Regular;">. Tip: When Apple says your preview video can&rsquo;t be longer than 30 seconds, they mean 30, not 30.1 seconds. Trim your video in Xcode to make sure it&rsquo;s no longer than 30.0 seconds.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><a href="http://www.everwebapp.com"><span style="font-size: 24px;"><strong>EverWeb</strong></span></a></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px; font-family: AvenirNext-Regular;">When you submit your app to Apple for review, you&rsquo;ll need to provide URLs for a website, user support and privacy policy. There are lots of &ldquo;no code&rdquo; web creation options out there. EverWeb arose as an alternative when Apple dropped iWeb and has done a good job of keeping up with modern features while remaining easy to use. I use it because it has built in support for responsive design, includes options for hosting and email, is regularly updated with new or improved features, and has plentiful tutorials. It sometimes gets a bad rap in the developer community because it&rsquo;s built with Xojo (formerly RealBasic), but it&rsquo;s the end product that matters. It has some quirks that I must relearn if I haven&rsquo;t used it for a while, but it&rsquo;s been a reliable design plus hosting solution for me.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 30px;"><strong>Apps that I find useful but not essential</strong></span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><a href="https://www.rocketsim.app"><strong><span style="font-size: 24px;">RocketSim</span></strong></a></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><strong>&nbsp;</strong></p><p style="margin: 0in;"><span style="font-family: AvenirNext-Regular; font-size: 18px;">RocketSim provides numerous enhancements to the Xcode Simulator. You can use it to create screenshots with and without bezels, preview videos, and much more. It gets better with each release. I still use Rotato and Pixelmator Pro for screenshots, but have started using RocketSim to capture preview videos which I then edit in iMovie.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><a href="https://text.design/art-text/"><strong><span style="font-size: 24px;">Art Text</span></strong></a></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px; font-family: AvenirNext-Regular;">Before Pixelmator Pro, Art Text was my go-to design tool. It focuses on text effects but is pretty versatile and simple to use. It&rsquo;s a bit less expensive than Pixelmator Pro, so you might want to download the free trial if you decide Pixelmator Pro isn&rsquo;t for you.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><a href="https://apps.apple.com/us/app/assets-maker-for-xcode/id1561328879?mt=12" rel="noopener noreferrer" target="_blank"><span style="font-family: Calibri; font-size: 24px;"><strong>Assets Maker for Xcode</strong></span></a></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><strong>&nbsp;</strong></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px; font-family: AvenirNext-Regular;">Meeting Apple&rsquo;s strict requirements for app icons has gotten easier with newer versions of Xcode, but old habits die hard. I still use this handy app to generate the required app asset catalogs. Create an app icon in Pixelmator Pro or Art Text, drag it on to this app, done.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><a href="https://www.apple.com/keynote/"><strong><span style="font-size: 24px;">Keynote</span></strong></a></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><strong>&nbsp;</strong></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px; font-family: AvenirNext-Regular;">Keynote isn&rsquo;t essential, but I use it for text animation in movies on my website. iMovie provides some text animation capabilities, but it&rsquo;s pretty limited. Text animations are easy to create in Keynote, and bringing them into iMovie is simple.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><a href="https://support.apple.com/guide/digital-color-meter/welcome/mac"><strong><span style="font-size: 24px;">Digital Color Meter</span></strong></a></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><strong>&nbsp;</strong></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px; font-family: AvenirNext-Regular;">Want to inspect/copy colors from your screen? You&rsquo;ll find this in Applications/Utilities.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><a href="https://impresskit.net"><strong><span style="font-size: 24px;">ImpressKit</span></strong></a></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><strong>&nbsp;</strong></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><span style="font-size: 18px; font-family: AvenirNext-Regular;">Not an app, but a website where you can learn about marketing your app, and easily create and host press kits and press releases to let the world know about your app.&nbsp;</span><span style="font-family: AvenirNext-Regular;"><a href="https://impresskit.net/82fbcef4-db77-4b92-bf46-6227ace79340"><span style="font-size: 18px;">Here&rsquo;s an example</span></a></span><span style="font-size: 18px; font-family: AvenirNext-Regular;">.</span></p><p style="margin: 0in; font-family: Calibri, sans-serif;"><br></p>]]></description>
<author></author>
</item>
</channel>
</rss>