<div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif">Your conclusion is the same as mine and you disagree with what I said? :/</div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif">mine:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px">Swift forces you to use class name to alert you on the fact that static variables and methods (may) affect the other instances of the class as static variables are shared between instances. That does make sense.</span></blockquote><div><br></div><div>y<div class="gmail_default" style="font-family:georgia,serif;display:inline">​ours:</div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <span style="font-size:13px">I think the reasoning behind this syntax is simply to make it easy to distinguish usages of static members (methods or variables) from instance ones.</span></blockquote><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif">Zhaoxin</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 2, 2016 at 12:58 AM, Jens Alfke <span dir="ltr">&lt;<a href="mailto:jens@mooseyard.com" target="_blank">jens@mooseyard.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
&gt; On Jul 1, 2016, at 9:38 AM, zh ao &lt;<a href="mailto:owenzx@gmail.com">owenzx@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Swift forces you to use class name to alert you on the fact that static variables and methods (may) affect the other instances of the class as static variables are shared between instances. That does make sense.<br>
<br>
</span>I disagree. Both static and instance methods can affect other instances of the class. In other words, just looking at these two calls:<br>
        something()<br>
        MyClass.something()<br>
there’s no way to tell whether either or both of them change class-wide state. (To spell it out clearly: the implementation of the instance method something() might change the variable MyClass.staticState.)<br>
<br>
I think the reasoning behind this syntax is simply to make it easy to distinguish usages of static members (methods or variables) from instance ones.<br>
<span class="HOEnZb"><font color="#888888"><br>
—Jens</font></span></blockquote></div><br></div>