<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">Hi, </div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">This is my first contribution to this list so I’m a little nervous. </div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">I’ve been refactoring some code in one of our internal frameworks and noticed something I didn’t noticed about protocols before. </div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">Maybe I’m missing the big picture here but I’ll expose the issue to you anyway.</div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">Consider these protocols and classes declarations :</div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69); min-height: 14px;" class=""><br style="box-sizing: border-box; -webkit-user-select: inherit;" class=""></div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue';" class=""><div style="color: rgb(186, 45, 162); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">protocol</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> Foo {</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> bar()</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> specificBar()</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> moreBar()</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">}</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></span><br class=""></div><div style="color: rgb(186, 45, 162); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">extension</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #4f8187" class="">Foo</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> {</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> specificBar() {</span></div><div style="color: rgb(209, 47, 27); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #3e1e81" class="">print</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">(</span><span style="font-variant-ligatures: no-common-ligatures" class="">"default specificBar implementation"</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">)</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">}</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></span><br class=""></div><div style="color: rgb(186, 45, 162); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">extension</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">UIView</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">: </span><span style="font-variant-ligatures: no-common-ligatures; color: #4f8187" class="">Foo</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> {</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> bar() {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="color: rgb(0, 0, 0); font-variant-ligatures: no-common-ligatures;" class=""> </span><span style="color: rgb(62, 30, 129); font-variant-ligatures: no-common-ligatures;" class="">print</span><span style="font-variant-ligatures: no-common-ligatures;" class="">(</span><span style="color: rgb(209, 47, 27);" class="">"</span><span style="color: rgb(209, 47, 27); font-variant-ligatures: no-common-ligatures;" class="">uiview default bar"</span><span style="font-variant-ligatures: no-common-ligatures;" class="">)</span></div><div style="color: rgb(49, 89, 93); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span><span style="font-variant-ligatures: no-common-ligatures" class="">specificBar</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">()</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #31595d" class="">moreBar</span><span style="font-variant-ligatures: no-common-ligatures" class="">()</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div><p style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><br class="webkit-block-placeholder"></p><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> moreBar() {</span></div><div style="color: rgb(209, 47, 27); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #3e1e81" class="">print</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">(</span><span style="font-variant-ligatures: no-common-ligatures" class="">"UIView is foo compliant and implements moreBar function"</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">)</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">}</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></span><br class=""></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">class</span><span style="font-variant-ligatures: no-common-ligatures" class=""> CustomView: </span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">UIView</span><span style="font-variant-ligatures: no-common-ligatures" class=""> {</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> startJob() {</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #31595d" class="">bar</span><span style="font-variant-ligatures: no-common-ligatures" class="">()</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div><p style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><br class="webkit-block-placeholder"></p><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> specificBar() {</span></div><div style="color: rgb(0, 132, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #3e1e81" class="">print</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">(</span><span style="font-variant-ligatures: no-common-ligatures; color: #d12f1b" class="">"CustomView specific bar implementation"</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">) </span><span style="font-variant-ligatures: no-common-ligatures" class="">//This is the implementation I want for specificBar but this is not the one picked at runtime.</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">}</span></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></span><br class=""></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></span><br class=""></div><div style="color: rgb(0, 0, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">let</span><span style="font-variant-ligatures: no-common-ligatures" class=""> view = </span><span style="font-variant-ligatures: no-common-ligatures; color: #4f8187" class="">CustomView</span><span style="font-variant-ligatures: no-common-ligatures" class="">()</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""><font color="#4f8187" class="">view</font></span><span style="color: rgb(0, 0, 0); font-variant-ligatures: no-common-ligatures;" class="">.</span><span style="color: rgb(49, 89, 93); font-variant-ligatures: no-common-ligatures;" class="">startJob</span><span style="color: rgb(0, 0, 0); font-variant-ligatures: no-common-ligatures;" class="">()</span></div><div style="color: rgb(0, 132, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div style="color: rgb(0, 132, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">//Prints :</span></div><div style="color: rgb(0, 132, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">//uiview default bar</span></div><div style="color: rgb(0, 132, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">//default specificBar implementation</b></span></div><div style="color: rgb(0, 132, 0); margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">//UIView is foo compliant and implements moreBar function</span></div><div style="color: rgb(69, 69, 69);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div></div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">I was wondering if it is a good idea to give the CustomView class the power to be more specific about it’s parent protocol adoption.</div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class=""><br class=""></div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">It seems to me that implementation of a protocol method cannot be easily changed by subclasses of the class that actually adopts the protocol in the first place. IMO one way to achieve the kind of specialization I’m trying to do is to create two protocols and another would be to implement a version of specificBar in the superclass (UIView here)</div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69); min-height: 14px;" class=""><br style="box-sizing: border-box; -webkit-user-select: inherit;" class=""></div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">But does it make sense to consider some kind of cherry picking (with a new keyword) for those methods we want to implement more precisely than the one provided on the protocol extension?</div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">Consider this new code for CustomView : </div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69); min-height: 14px;" class=""><br style="box-sizing: border-box; -webkit-user-select: inherit;" class=""></div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">class</span><span style="font-variant-ligatures: no-common-ligatures" class=""> CustomView: </span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">UIView</span><span style="font-variant-ligatures: no-common-ligatures" class=""> {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> startJob() {</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #31595d" class="">bar</span><span style="font-variant-ligatures: no-common-ligatures" class="">()</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div><p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0); min-height: 13px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> override adoption </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">func</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> specificBar() { </span><span style="font-variant-ligatures: no-common-ligatures" class="">//or override protocol => implements a method from a protocol adopted by the superclass</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #3e1e81" class="">print</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">(</span><span style="font-variant-ligatures: no-common-ligatures" class="">"CustomView specificBar implementation"</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">)</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">}</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0); min-height: 13px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></span><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">let</span><span style="font-variant-ligatures: no-common-ligatures" class=""> view = </span><span style="font-variant-ligatures: no-common-ligatures; color: #4f8187" class="">CustomView</span><span style="font-variant-ligatures: no-common-ligatures" class="">()</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(49, 89, 93);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #4f8187" class="">view</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">.</span><span style="font-variant-ligatures: no-common-ligatures" class="">startJob</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">()</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 0, 0); min-height: 13px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></span><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">//Would print :</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">//uiview default bar</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">//CustomView specificBar implementation</b></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">//UIView is foo compliant and implements moreBar function</span></div></div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69); min-height: 14px;" class=""><br style="box-sizing: border-box; -webkit-user-select: inherit;" class=""></div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">I would appreciate your feedback.</div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class=""><br class=""></div><signature style="box-sizing: border-box; -webkit-user-select: inherit; color: rgb(35, 31, 32); font-family: Nylas-Pro, Helvetica, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class=""><div style="box-sizing: border-box; -webkit-user-select: inherit; max-width: 100%; font-family: Nylas-Pro, Helvetica, "Lucidia Grande", sans-serif; font-size: 14.5px;" class=""><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-size: 12px; line-height: normal; font-family: 'Helvetica Neue'; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">--</div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-size: 12px; line-height: normal; font-family: 'Helvetica Neue'; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">Iman Zarrabian</div><div style="box-sizing: border-box; -webkit-user-select: inherit; margin: 0px; font-size: 12px; line-height: normal; font-family: 'Helvetica Neue'; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">@<spelling class="misspelled" style="box-sizing: border-box; -webkit-user-select: inherit; background: linear-gradient(45deg, transparent, transparent 49%, rgb(255, 0, 0) 49%, transparent 51%) center bottom / 2px 2px no-repeat;">imanzarrabian</spelling></div></div></signature></body></html>