<div dir="ltr">This works for me<div><br></div><div><br></div><div><p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1)"><span style="">class Blorg: NSObject, URLSessionDelegate {</span></p>
<p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1)"><span style="">    var config: URLSessionConfiguration</span></p>
<p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1);min-height:16px"><span style="">    </span></p>
<p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1)"><span style="">    lazy var session: URLSession = {</span></p>
<p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1)"><span style="">        print(&quot;howdy&quot;)</span></p>
<p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1)"><span style="">        return URLSession(configuration: self.config, delegate: self, delegateQueue: nil)</span></p>
<p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1)"><span style="">    }()</span></p>
<p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1);min-height:16px"><span style="">        </span></p>
<p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1)"><span style="">    override init() {</span></p>
<p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1)"><span style="">        config = URLSessionConfiguration.default()</span></p>
<p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1)"><span style="">    }</span></p>
<p style="margin:0px;font-size:14px;line-height:normal;font-family:Menlo;color:rgb(1,1,1)"><span style="">}</span></p></div><div><br></div><div>Cheers,</div><div>++md</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 4, 2016 at 1:04 PM, J.E. Schotsman via swift-users <span dir="ltr">&lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I need to initialize a variable of a class with a closure using the value of some variables of the class.<br>
Since this is not permitted I thought I might solve the problem by declaring it lazy. But this is still rejected by the compiler.<br>
If there are no circular dependencies in initialization of lazy variables this could be allowed, couldn’t it?<br>
Or is this a very big if?<br>
<br>
My workaround is ugly: a calculated property + a private variable + an initialized:Bool variable.<br>
<br>
Jan E.<br>
<br>
<br>
_______________________________________________<br>
swift-users mailing list<br>
<a href="mailto:swift-users@swift.org">swift-users@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-users" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-users</a><br>
</blockquote></div><br></div>