Swift has its own suggested patterns on calling methods. For example, it suggests you calling instance methods directly inside class. It also forces you calling self.method() in closure that without @noescape. As well as the static method with the class name in your question. Those are different from C++. But it does differ the differences between methods.
Zhaoxin On Fri, Jul 1, 2016 at 10:01 AM, Rick Mann <rm...@latencyzero.com> wrote: > > > On Jun 30, 2016, at 18:47 , zh ao <owe...@gmail.com> wrote: > > > > Just a choice made by the language designers to distinguish the call at > the call site. > > > > You should be aware of using static methods as it may change static > variables, which affects all instances of that class. Normally I think > static methods is designed to use outside the class instance, if you have > to use it inside its instance method. You may need to rethink the pattern > you do. > > I think of static methods as applying to all instances, and so code them > to "behave properly" no matter how they're called (since I can't really > control who calls it, unless it's my own class). Since it's implicitly > obvious (to me) that I mean "this class" when I call one, I find it a bit > tedious qualify the call with the class name. > > It's fine, in the end, but I was curious why it was like this, and if > there was a more obvious reason why it needed the qualification. > > > > > Zhaoxin > > > > On Fri, Jul 1, 2016 at 8:59 AM, Rick Mann via swift-users < > swift-users@swift.org> wrote: > > Why can my instance methods not call class methods without the class > specifier? > > > > class MyClass > > { > > func > > foo() > > { > > classMethod() > > } > > > > class > > func > > classMethod() > > { > > } > > } > > > > Why do I have to call MyClass.classMethod()? Just a choice made by the > language designers to distinguish the call at the call site? I like C++'s > way of treating all static methods as directly available to the instance. > > > > -- > > Rick Mann > > rm...@latencyzero.com > > > > > > _______________________________________________ > > swift-users mailing list > > swift-users@swift.org > > https://lists.swift.org/mailman/listinfo/swift-users > > > > > -- > Rick Mann > rm...@latencyzero.com > > >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users