<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">It seems like that link should be added to the 'frequently proposed changes' page on the repo. I'll prepare a PR.<div class=""><br class=""></div><div class="">Austin<br class=""><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Oct 16, 2016, at 4:09 PM, Xiaodi Wu via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class="">Welcome to the list! It seems the community and core team are in agreement about your point. As mentioned previously, the core team has laid out a two-step roadmap to restoring argument labels:<br class=""><br class=""><a href="https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160711/024331.html" class="">https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160711/024331.html</a><br class=""><br class="">Hope that helps!<br class=""><div class="gmail_quote"><div dir="ltr" class="">On Mon, Oct 17, 2016 at 06:35 Grant Kemp via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">Hi all</span><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">A South African in London here and I have decided to make the jump to trying to help </span><span class="gmail_msg m_9066287156720676382inbox-inbox-lG" style="background-color:rgba(251,246,167,0.498039);outline:transparent dashed 1px;color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap">Swift</span><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg"> develop. </span><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">I was an android and web developer and </span><span class="gmail_msg m_9066287156720676382inbox-inbox-lG" style="background-color:rgba(251,246,167,0.498039);outline:transparent dashed 1px;color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap">swift</span><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg"> converted me to iOS programming which has become something that I love. I have built several apps on iOS and on macOS using it and thoroughly enjoyed it. </span><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">One think has made me fall a little out of love with </span><span class="gmail_msg m_9066287156720676382inbox-inbox-lG" style="background-color:rgba(251,246,167,0.498039);outline:transparent dashed 1px;color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap">swift</span><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg"> 3 was the&nbsp;removal of </span><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">completion handler argument labels </span><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">which has created:</span><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">1. Less maintainable code for teams </span><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">2. Less readable  and thus more error prone code </span><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">3. Slower code to write as now I have to regularly scroll to the top of the method to find out what the parameters should be . </span><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">4. Seems to be at odds with other parts of the api which favours labels. </span><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><font color="#212121" face="helvetica neue, helvetica, arial, sans-serif" class="gmail_msg"><span style="white-space:pre-wrap" class="gmail_msg">I have found quite a lot of support from others via my stack overflow question here: </span></font><div class="gmail_msg"><font color="#212121" face="helvetica neue, helvetica, arial, sans-serif" class="gmail_msg"><span style="white-space:pre-wrap" class="gmail_msg"><a href="http://stackoverflow.com/questions/39613272/xcode-8-function-types-cannot-have-argument-label-breaking-my-build" class="gmail_msg" target="_blank">http://stackoverflow.com/questions/39613272/xcode-8-function-types-cannot-have-argument-label-breaking-my-build</a></span></font><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;white-space:pre-wrap"><br class="gmail_msg">Here is my suggestion:&nbsp;</div><div class="gmail_msg">Currently the Swift 3 version does not allow arguments in the completionhandler method, which is confusing and not very readable.</div><p class="gmail_msg m_9066287156720676382inbox-inbox-p2"><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"><span class="gmail_msg m_9066287156720676382inbox-inbox-Apple-converted-space">&nbsp; &nbsp; </span></span><span class="gmail_msg m_9066287156720676382inbox-inbox-s2">func</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"> myMethod(</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s2">_</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"> completionhandler:(</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s2">_</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"> downloadedValue:</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s3">String</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">,</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s2">_</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"> isActive:</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s3">Bool</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">, </span><span class="gmail_msg m_9066287156720676382inbox-inbox-s2">_</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"> error:</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s3">NSError</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">)-&gt; </span><span class="gmail_msg m_9066287156720676382inbox-inbox-s3">Void</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">) {<br class="gmail_msg"></span><span class="gmail_msg m_9066287156720676382inbox-inbox-s4"><span class="gmail_msg m_9066287156720676382inbox-inbox-Apple-converted-space">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">//&lt;&lt;After doing some async method such as downloading from an API &gt;&gt;</span></p><p class="gmail_msg m_9066287156720676382inbox-inbox-p2"><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"><span class="gmail_msg m_9066287156720676382inbox-inbox-Apple-converted-space">&nbsp; &nbsp; &nbsp; &nbsp; </span>completionhandler(myString, </span><span class="gmail_msg m_9066287156720676382inbox-inbox-s2">true</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">, myError)</span></p><p class="gmail_msg m_9066287156720676382inbox-inbox-p2"><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"><span class="gmail_msg m_9066287156720676382inbox-inbox-Apple-converted-space">&nbsp; &nbsp; </span>}<br class="gmail_msg"></span><span class="gmail_msg m_9066287156720676382inbox-inbox-s4"><span class="gmail_msg m_9066287156720676382inbox-inbox-Apple-converted-space">&nbsp; &nbsp;&nbsp;</span></span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">// INSTEAD: ideally the argument labels should be added optionally to be called in the completion method such as below and using a Tuple-like syntax to indicate that the method should have the labels</span></p><p class="gmail_msg m_9066287156720676382inbox-inbox-p2"><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"><span class="gmail_msg m_9066287156720676382inbox-inbox-Apple-converted-space">&nbsp; &nbsp; </span></span><span class="gmail_msg m_9066287156720676382inbox-inbox-s2">func</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"> myMethod(</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s2">_</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"> completionhandler:( downloadedValue:</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s3">String</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">, isActive:</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s3">Bool</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">,<span class="gmail_msg m_9066287156720676382inbox-inbox-Apple-converted-space">&nbsp; </span>error:</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s3">NSError</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">)-&gt; </span><span class="gmail_msg m_9066287156720676382inbox-inbox-s3">Void</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">) {</span></p><p class="gmail_msg m_9066287156720676382inbox-inbox-p3"><span class="gmail_msg m_9066287156720676382inbox-inbox-s4"><span class="gmail_msg m_9066287156720676382inbox-inbox-Apple-converted-space">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">//&lt;&lt;After doing some async method such as downloading from an API &gt;&gt;</span><br class="gmail_msg"></p><p class="gmail_msg m_9066287156720676382inbox-inbox-p2"><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"><span class="gmail_msg m_9066287156720676382inbox-inbox-Apple-converted-space">&nbsp; &nbsp; &nbsp; &nbsp; </span>completionhandler(dowloadedValue:myString, isActive:</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s2">true</span><span class="gmail_msg m_9066287156720676382inbox-inbox-s1">, error:myError)</span></p><p class="gmail_msg m_9066287156720676382inbox-inbox-p2"><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"><span class="gmail_msg m_9066287156720676382inbox-inbox-Apple-converted-space">&nbsp; &nbsp; </span>}</span></p><p class="gmail_msg m_9066287156720676382inbox-inbox-p2"><span class="gmail_msg m_9066287156720676382inbox-inbox-s1"><br class="gmail_msg"></span></p><div class="gmail_msg"><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">Thanks for the help ( and any feedback on my idea above ) </span><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><br class="gmail_msg" style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap"><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;white-space:pre-wrap" class="gmail_msg">Thanks for the epic work you are doing ! </span><br class="gmail_msg"></div></div><div dir="ltr" class="gmail_msg">-- <br class="gmail_msg"></div><div data-smartmail="gmail_signature" class="gmail_msg"><div dir="ltr" class="gmail_msg">Sent from my mobile </div></div>
_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
</blockquote></div>
_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></blockquote></div><br class=""></div></div></body></html>