<div dir="ltr">On 3 November 2017 at 17:23, Adam Kemp <span dir="ltr">&lt;<a href="mailto:adam_kemp@apple.com" target="_blank">adam_kemp@apple.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><br><div><span class=""><div><br></div></span><div>When you actually try to use that technique in a fuller example it becomes impractical. I know because some people working on the same code base tried that, and it was much worse. </div></div></div></blockquote><div><br></div><div>please provide more details on this. i was and still using such a technique, so want to be prepared for those pitfalls before i actually encounter them.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div><div>I will concede that there are other techniques for cross-platform code that might be considered even cleaner. This isn’t the only technique, and I won’t claim that it’s the best technique, but it is a very useful technique that I have seen used very effectively. It would be nice to be able to have it as an option.</div><span class=""><div><br></div><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div style="margin:0px;font-stretch:normal;line-height:normal;min-height:14px">having said that, yes, i can see your point. my fear is that it will be (1) too fragile (e.g. you have &quot;TableViewDelegate&quot; in the ledger and just forgot to include the relevant file in the target - the app compiles but then misbehaves,</div></div></div></div></div></blockquote><div><br></div></span><div>My argument is that there should be no ledger in the first place. IMO you haven’t made the case for that requirement.</div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div><div><br></div><div>If you forget to implement a protocol then ...</div></div></div></blockquote><div><br></div><div>i mean this:</div><div><br></div><div>class MyView: UIView {</div><div>    optional part Drawing</div><div>}</div><div><br></div><div>part Drawing of MyView { // **** forgot to include this into target</div><div>    override func drawRect(...) {</div><div>        .....</div><div>    }</div><div>}</div><div><br></div><div>the app compiles but doesn&#39;t work correctly.</div><div><br></div><div>Mike<br></div><div><br></div></div></div></div>