<div dir="ltr"><div>When creating a lazy variable, maybe we should allow for default closures, i.e</div><div><br></div><div>lazy var userSession: UserSession</div><div><br></div><div>Which will construct that object for you</div><div>instead of having to do:</div><div><br></div><div><div>lazy var object: MyObject {</div><p class=""><span class="">        </span><span class="">let</span><span class=""> userSession = </span><span class="">UserSession</span><span class="">()</span></p><p class=""><span class="">        </span><span class="">return</span><span class=""> userSession</span></p><p class=""><span class="">}()</span></p><p class="">If the initializer requires parameter values then as an extension of this we could pass them in psuedo C++ style:</p><p class="">lazy var object: UserSession(otherVariable) <br></p><p class="">Potentially otherVariable in this case could be lazily processed, so that its the equivalent of:</p><div><br></div><div><div>lazy var object: MyObject {</div><p class=""><span class="">        </span><span class="">let</span><span class=""> userSession = </span><span class="">UserSession</span><span class="">(</span>otherVariable)</p><p class=""><span class="">        </span><span class="">return</span><span class=""> userSession</span></p><p class=""><span class="">}()</span></p></div></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><span style="font-size:16px;line-height:19.2px"></span><span style="font-size:12.8px"> Wizard</span><br></div><div><a href="mailto:james@supmenow.com" target="_blank">james@supmenow.com</a></div><div>+44 7523 279 698</div></div></div></div></div></div>
</div>