I'm pretty sure you can have instance and static methods with the same name. 
Requiring `Type.foo()` instead of just `foo()` would tell the compiler which 
one you want.

- Dave Sweeris

> On Jun 30, 2016, at 21:01, Rick Mann via swift-users <swift-users@swift.org> 
> 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
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to