let field with initial value specified in declaration (rather than obtained in a constructor) will retain this value for all instances of the class. For this reason it looks logical to assume this field to be static, even if
static keyword is not coded explicitly.
Does Swift currently implement that, or I should post it as a suggestion? Please, answer, if you know it certainly.
As a benefit of dropping
static keyword (while the field is actually static) is accessing a field without an explicit class name. The need to code
ClassName.filedName for a static field in Swift is really frustrating. I don't know the arguments for that (maybe merely to discourage
static), but here are the contra-arguments: firstly this makes difficult porting the code to another class, secondly, given that class name is typically quite long, the lines get longer and not clearly readable, thirdly, it's just annoying.