<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="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">Hello! Hope you are all OK! </font></span></div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">Using and converting To Swift 3.0 with many </font></span><font color="#0433ff" class=""><span style="font-size: 14px;" class="">advantages</span></font></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">and very little problems.</font></span><span style="color: rgb(4, 51, 255); font-size: 14px;" class="">OK, thanks to all !</span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">also for the reasonably smart converter. Yes, yes, yes, I’m<br class="">still missing the classical for ;; loop (don’t wake me up <br class="">again plse :o) but overall it is quite good!</font></span></div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class="">I also value the -finally correct- meaning of the scope qualifier “private” , thanks, </font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class="">which is as it should be (imho) inner scope restricting. </font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class=""><br class=""></font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class="">As for “fileprivate”: as yet, I haven’t found a case</font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class="">where I should use “fileprivate” also because to me, the contents of</font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class="">a file should in principle not have anything to do with the entities</font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class="">contained in it, as a file should be just an data carrier. Therefore, </font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class="">it should have no effect to wether or not concatenate source.swift files</font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class="">into one big file for example, although I would not recommend this.</font></div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class="">As far as I can see without binoculars, the “fileprivate” acces modifier</font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class="">could be dropped, were it not for source compatibility reasons... </font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class=""> </font></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">Unless I am missing something: </font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">Still. something is not quite right yet, I think.</font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">Just like in a Swift function, I don’t want the inner elements</font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">of a class (or struct ?) to be visible in outer scope!</font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">This is the default case in most OOP languages. </font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">I fail to understand </font></span><span style="color: rgb(4, 51, 255); font-size: 14px;" class="">why this is not so in Swift, please enlighten me. </span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class=""><br class=""></font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">As it is now, and as far as I know, I have to explicitly</font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">declare *all* entities inside a class that should not be accessible</font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; font-size: 14px;" class=""><font color="#0433ff" class="">outside the class as private, like in this real-world example: </font></span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><br class=""></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><br class=""></div><div style="margin: 0px; font-size: 17px; 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=""> TG3DGauge: </span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">SCNNode</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">{</span></div><p style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 17px; 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="">private</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">var</span><span style="font-variant-ligatures: no-common-ligatures" class=""> needles = [</span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">SCNNode</span><span style="font-variant-ligatures: no-common-ligatures" class="">]()</span></div><div style="margin: 0px; font-size: 17px; 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="">private</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">var</span><span style="font-variant-ligatures: no-common-ligatures" class=""> fmtStr = </span><span style="font-variant-ligatures: no-common-ligatures; color: #d12f1b" class="">“" </span><span style="color: rgb(0, 132, 0);" class="">// private should be the default imho.</span></div><p style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""> </p><div style="margin: 0px; font-size: 17px; 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="">var</span><span style="font-variant-ligatures: no-common-ligatures" class=""> value: </span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">CGFloat</span><span style="font-variant-ligatures: no-common-ligatures" class=""> = </span><span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class="">0</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> {</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">didSet</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span>// trigger value change, rotate needles etc.</div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> {</span></div><div style="margin: 0px; font-size: 17px; 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="">valueChange</span><span style="font-variant-ligatures: no-common-ligatures" class="">()</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div><p style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 17px; 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="">private</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">var</span><span style="font-variant-ligatures: no-common-ligatures" class=""> nodeUnitText = </span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">SCNNode</span><span style="font-variant-ligatures: no-common-ligatures" class="">()</span></div><div style="margin: 0px; font-size: 17px; 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="">private</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">var</span><span style="font-variant-ligatures: no-common-ligatures" class=""> nodeValueText = </span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">SCNNode</span><span style="font-variant-ligatures: no-common-ligatures" class="">()</span></div><p style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 17px; 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="">private</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">var</span><span style="font-variant-ligatures: no-common-ligatures" class=""> valRange: </span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">ClosedRange</span><span style="font-variant-ligatures: no-common-ligatures" class=""><</span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">CGFloat</span><span style="font-variant-ligatures: no-common-ligatures" class="">> = (</span><span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class="">0</span><span style="font-variant-ligatures: no-common-ligatures" class="">...</span><span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class="">100.0</span><span style="font-variant-ligatures: no-common-ligatures" class="">)</span></div><p style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 17px; 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="">var</span><span style="font-variant-ligatures: no-common-ligatures" class=""> rangeNeedlesActive: </span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">Bool</span><span style="font-variant-ligatures: no-common-ligatures" class=""> = </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">true</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> {</span></div><div style="margin: 0px; font-size: 17px; 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="">didSet</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> {</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span><span style="font-variant-ligatures: no-common-ligatures" class="">needles</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">[</span><span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class="">2</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">].</span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">isHidden</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> = </span><span style="font-variant-ligatures: no-common-ligatures; color: #3e1e81" class="">!</span><span style="font-variant-ligatures: no-common-ligatures" class="">rangeNeedlesActive</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span><span style="font-variant-ligatures: no-common-ligatures" class="">needles</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">[</span><span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class="">3</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">].</span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">isHidden</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> = </span><span style="font-variant-ligatures: no-common-ligatures; color: #3e1e81" class="">!</span><span style="font-variant-ligatures: no-common-ligatures" class="">rangeNeedlesActive</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div><p style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 17px; 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="">private</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #ba2da2" class="">var</span><span style="font-variant-ligatures: no-common-ligatures" class=""> valScaleFactor: </span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">CGFloat</span><span style="font-variant-ligatures: no-common-ligatures" class=""> = </span><span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class="">1</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class=""><br class=""></span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class=""><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: rgb(0, 132, 0);" class="">// etc. more stuff</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><font color="#272ad8" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>.</font></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><font color="#272ad8" class=""> .</font></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><font color="#272ad8" class="">} </font><span style="color: rgb(0, 132, 0);" class="">// end class TG3DGauge</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="color: rgb(0, 132, 0);" class=""><br class=""></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><br class=""></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class="">It should (imho) be the other way around: </font><span style="color: rgb(4, 51, 255);" class="">that every member of </span></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><span style="color: rgb(4, 51, 255);" class="">a class is private by default - that is invisible </span><span style="color: rgb(4, 51, 255);" class="">outside the scope </span></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><span style="color: rgb(4, 51, 255);" class="">were it is declared in.</span><span style="color: rgb(4, 51, 255);" class=""> This was (and still is) the case with Objective C,</span></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><span style="color: rgb(4, 51, 255);" class="">where </span><span style="color: rgb(4, 51, 255);" class="">you need to explicitly</span><span style="color: rgb(4, 51, 255);" class=""> declaring them in </span><span style="color: rgb(4, 51, 255);" class=""> the sourcefile.h file</span></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><span style="color: rgb(4, 51, 255);" class="">to make them </span><span style="color: rgb(4, 51, 255);" class="">visible and accessible in the outer scope</span><span style="color: rgb(4, 51, 255);" class=""> </span></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="color: rgb(4, 51, 255); font-size: 14px;" class="">Everything else, as existing in the sourcefile.m remains hidden, not visible</span></div><div style="margin: 0px; line-height: normal;" class=""><span style="color: rgb(4, 51, 255); font-size: 14px;" class="">in the outer scope.</span></div><div style="margin: 0px; line-height: normal;" class=""><span style="color: rgb(4, 51, 255); font-size: 14px;" class=""><br class=""></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="color: rgb(4, 51, 255); font-size: 14px;" class="">As a solution/suggestion and also to prevent the gruesome</span></div><div style="margin: 0px; line-height: normal;" class=""><span style="color: rgb(4, 51, 255); font-size: 14px;" class="">horror (did i already wrote something about that? :o) of source breaking.</span></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" style="font-size: 14px;" class="">I could think of the “closedscope” (or some other word) </font></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class="">access modifier, which states t</font><span style="color: rgb(4, 51, 255);" class="">hat all things declared inside a class, </span></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><span style="color: rgb(4, 51, 255);" class="">are private within the class </span><span style="color: rgb(4, 51, 255);" class="">and thus invisible in the outer scope, unless</span></span></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" class=""><span style="font-size: 14px;" class="">preceeded with an overriding acces scope modifier like “public", “internal" or "fileprivate” </span></font></div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><p style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><br class="webkit-block-placeholder"></p><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="color: rgb(186, 45, 162);" class="">closedscope</span><span style="font-variant-ligatures: no-common-ligatures;" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(186, 45, 162);" class="">class</span><span style="font-variant-ligatures: no-common-ligatures;" class=""> TG3DGauge: </span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(112, 61, 170);" class="">SCNNode</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures;" class="">{</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> </span><br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 17px; 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: rgb(186, 45, 162);" class="">var</span><span style="font-variant-ligatures: no-common-ligatures;" class=""> needles = [</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(112, 61, 170);" class="">SCNNode</span><span style="font-variant-ligatures: no-common-ligatures;" class="">]() </span><span style="color: rgb(0, 132, 0);" class="">// is now private by default</span></div><div style="margin: 0px; font-size: 17px; 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: rgb(186, 45, 162);" class="">var</span><span style="font-variant-ligatures: no-common-ligatures;" class=""> fmtStr = </span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(209, 47, 27);" class="">“" </span><span style="color: rgb(0, 132, 0);" class="">// is now private by default</span></div><p style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; line-height: normal;" class=""><span style="font-family: Menlo; font-size: 17px; font-variant-ligatures: no-common-ligatures;" class=""> </span><span style="font-family: Menlo; font-size: 17px; font-variant-ligatures: no-common-ligatures; color: rgb(186, 45, 162);" class="">public var</span><span style="font-family: Menlo; font-size: 17px; font-variant-ligatures: no-common-ligatures;" class=""> value: </span><span style="font-family: Menlo; font-size: 17px; font-variant-ligatures: no-common-ligatures; color: rgb(112, 61, 170);" class="">CGFloat</span><span style="font-family: Menlo; font-size: 17px; font-variant-ligatures: no-common-ligatures;" class=""> = </span><span style="font-family: Menlo; font-size: 17px; font-variant-ligatures: no-common-ligatures; color: rgb(39, 42, 216);" class="">0 </span><font color="#008400" face="Menlo" class=""><span style="font-size: 17px;" class="">// Public!! visible outside class also for “fileprivate" or “internal” </span></font></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-family: Menlo; font-size: 17px;" class=""> </span><span style="font-family: Menlo; font-size: 17px;" class=""> </span><span style="font-family: Menlo; font-size: 17px;" class="">{</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: rgb(0, 0, 0);" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(186, 45, 162);" class="">didSet</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(0, 0, 0);" class=""> </span><span style="font-variant-ligatures: no-common-ligatures;" class="">// trigger value change, rotate needles etc.</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> {</span></div><div style="margin: 0px; font-size: 17px; 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: rgb(49, 89, 93);" class="">valueChange</span><span style="font-variant-ligatures: no-common-ligatures;" class="">()</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> }</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> }</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> </span><br class="webkit-block-placeholder"></div><div style="margin: 0px; font-size: 17px; 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: rgb(186, 45, 162);" class="">var</span><span style="font-variant-ligatures: no-common-ligatures;" class=""> nodeUnitText = </span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(112, 61, 170);" class="">SCNNode</span><span style="font-variant-ligatures: no-common-ligatures;" class="">() </span><span style="color: rgb(0, 132, 0);" class="">// is now private by default</span></div><div style="margin: 0px; font-size: 17px; 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: rgb(186, 45, 162);" class="">var</span><span style="font-variant-ligatures: no-common-ligatures;" class=""> nodeValueText = </span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(112, 61, 170);" class="">SCNNode</span><span style="font-variant-ligatures: no-common-ligatures;" class="">() </span><span style="color: rgb(0, 132, 0);" class="">// is now private by default</span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="color: rgb(0, 132, 0);" class=""><br class=""></span></div><div style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo;" class=""><span style="color: rgb(0, 132, 0);" class=""> //etc.</span></div><p style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""><br class=""></p><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" class=""><span style="font-size: 14px;" class="">This “closedscope" modifier should only be effective for the current class, not its superclass(es),</span></font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" class=""><span style="font-size: 14px;" class="">allowing one to hide/reveal entities in each class independently being part of the hierarchy.</span></font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" class=""><span style="font-size: 14px;" class="">Also entities declared private should not be visible in descendant classes</span></font></div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" class=""><span style="font-size: 14px;" class="">Also please note that I do miss the “protected” scope access modifier which allows entities to be exclusively</span></font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" class=""><span style="font-size: 14px;" class="">visible to descendant classes, as in Java. Why not implement it in Swift as well? </span></font></div><div style="margin: 0px; line-height: normal;" class=""><font color="#0433ff" class=""><span style="font-size: 14px;" class=""><br class=""></span></font></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class="">AFAICS: All mentioned here would not be a source breaking. </font></span></div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class="">Opinions, remarks welcome.</font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class=""><br class=""></font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class="">met vriendelijke groeten</font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class="">Ted</font></span></div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class=""><br class=""></font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class=""><br class=""></font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class=""><br class=""></font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class=""><br class=""></font></span></div><div style="margin: 0px; line-height: normal;" class=""><span style="font-size: 14px;" class=""><font color="#0433ff" class=""><br class=""></font></span></div><p style="margin: 0px; font-size: 17px; line-height: normal; font-family: Menlo; min-height: 20px;" class=""><br class=""></p></span></div></body></html>