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><br><a href="https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160711/024331.html">https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160711/024331.html</a><br><br>Hope that helps!<br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 17, 2016 at 06:35 Grant Kemp via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></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="m_9066287156720676382inbox-inbox-lG gmail_msg" 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="m_9066287156720676382inbox-inbox-lG gmail_msg" 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="m_9066287156720676382inbox-inbox-lG gmail_msg" 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 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: </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="m_9066287156720676382inbox-inbox-p2 gmail_msg"><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"><span class="m_9066287156720676382inbox-inbox-Apple-converted-space gmail_msg">    </span></span><span class="m_9066287156720676382inbox-inbox-s2 gmail_msg">func</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"> myMethod(</span><span class="m_9066287156720676382inbox-inbox-s2 gmail_msg">_</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"> completionhandler:(</span><span class="m_9066287156720676382inbox-inbox-s2 gmail_msg">_</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"> downloadedValue:</span><span class="m_9066287156720676382inbox-inbox-s3 gmail_msg">String</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">,</span><span class="m_9066287156720676382inbox-inbox-s2 gmail_msg">_</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"> isActive:</span><span class="m_9066287156720676382inbox-inbox-s3 gmail_msg">Bool</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">, </span><span class="m_9066287156720676382inbox-inbox-s2 gmail_msg">_</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"> error:</span><span class="m_9066287156720676382inbox-inbox-s3 gmail_msg">NSError</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">)-&gt; </span><span class="m_9066287156720676382inbox-inbox-s3 gmail_msg">Void</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">) {<br class="gmail_msg"></span><span class="m_9066287156720676382inbox-inbox-s4 gmail_msg"><span class="m_9066287156720676382inbox-inbox-Apple-converted-space gmail_msg">        </span></span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">//&lt;&lt;After doing some async method such as downloading from an API &gt;&gt;</span></p>
<p class="m_9066287156720676382inbox-inbox-p2 gmail_msg"><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"><span class="m_9066287156720676382inbox-inbox-Apple-converted-space gmail_msg">        </span>completionhandler(myString, </span><span class="m_9066287156720676382inbox-inbox-s2 gmail_msg">true</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">, myError)</span></p>
<p class="m_9066287156720676382inbox-inbox-p2 gmail_msg"><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"><span class="m_9066287156720676382inbox-inbox-Apple-converted-space gmail_msg">    </span>}<br class="gmail_msg"></span><span class="m_9066287156720676382inbox-inbox-s4 gmail_msg"><span class="m_9066287156720676382inbox-inbox-Apple-converted-space gmail_msg">    </span></span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">// 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="m_9066287156720676382inbox-inbox-p2 gmail_msg"><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"><span class="m_9066287156720676382inbox-inbox-Apple-converted-space gmail_msg">    </span></span><span class="m_9066287156720676382inbox-inbox-s2 gmail_msg">func</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"> myMethod(</span><span class="m_9066287156720676382inbox-inbox-s2 gmail_msg">_</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"> completionhandler:( downloadedValue:</span><span class="m_9066287156720676382inbox-inbox-s3 gmail_msg">String</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">, isActive:</span><span class="m_9066287156720676382inbox-inbox-s3 gmail_msg">Bool</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">,<span class="m_9066287156720676382inbox-inbox-Apple-converted-space gmail_msg">  </span>error:</span><span class="m_9066287156720676382inbox-inbox-s3 gmail_msg">NSError</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">)-&gt; </span><span class="m_9066287156720676382inbox-inbox-s3 gmail_msg">Void</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">) {</span></p>
<p class="m_9066287156720676382inbox-inbox-p3 gmail_msg"><span class="m_9066287156720676382inbox-inbox-s4 gmail_msg"><span class="m_9066287156720676382inbox-inbox-Apple-converted-space gmail_msg">        </span></span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">//&lt;&lt;After doing some async method such as downloading from an API &gt;&gt;</span><br class="gmail_msg"></p>
<p class="m_9066287156720676382inbox-inbox-p2 gmail_msg"><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"><span class="m_9066287156720676382inbox-inbox-Apple-converted-space gmail_msg">        </span>completionhandler(dowloadedValue:myString, isActive:</span><span class="m_9066287156720676382inbox-inbox-s2 gmail_msg">true</span><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg">, error:myError)</span></p>
<p class="m_9066287156720676382inbox-inbox-p2 gmail_msg"><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"><span class="m_9066287156720676382inbox-inbox-Apple-converted-space gmail_msg">    </span>}</span></p><p class="m_9066287156720676382inbox-inbox-p2 gmail_msg"><span class="m_9066287156720676382inbox-inbox-s1 gmail_msg"><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>