Swift Lazy and Optional properties
<p>What is the difference between a <code>Lazy</code> or <code>Optional</code> property in Swift?</p>

<p>For example, if someone is building a navigation bar that comes in from the side, I think that should all be within one <code>UIViewController</code>.  The user might never open the menu but sometimes they will. </p>

<pre><code>var menu: NavigationBar?
lazy var menu: NavigationBar = NavigationBar.initialize()
</code></pre>

<p>Both of the optional I think are good code, because they don't create the view unless its needed.  I understand <code>Optional</code> means there might be a value it might be <code>nil</code>. I also understand <code>Lazy</code> means don't worry about it until I need it. </p>

<p><strong>Specific Question</strong></p>

<p>My question is are their performance patterns (safety and speed) that say optionals are faster and safer or vise versa? </p>