Proprietà statiche e proprietà implicite di "sé" in strutture ed enumerazioni contro classi in Swift

3

Attualmente sto leggendo la documentazione della lingua Swift e ho trovato queste frasi in il capitolo sui metodi :

Similarly, type methods on structures and enumerations can access static properties by using the static property's name without a type name prefix.

Within the body of a type method, the implicit self property refers to the type itself, rather than an instance of that type. For structures and enumerations, this means that you can use self to disambiguate between static properties and static method parameters.

Ho avuto l'impressione che queste regole siano valide anche per classi e istanze di classi. La mia domanda è, perché vengono menzionate solo le strutture e le enumerazioni? È solo un'omissione accidentale nel documentario o si applicano effettivamente regole diverse per le classi e le loro istanze?

    
posta TheBaj 21.03.2015 - 16:45
fonte

1 risposta

0

Mi aspetto che la ragione sia perché l'esempio presentato è una classe, quindi gli autori hanno ritenuto importante richiamare il fatto che funzioni anche con le strutture e le enumerazioni.

L'ultima versione del libro ha riformulato il passaggio:

More generally, any unqualified method and property names that you use within the body of a type method will refer to other type-level methods and properties. A type method can call another type method with the other method’s name, without needing to prefix it with the type name. Similarly, type methods on structures and enumerations can access type properties by using the type property’s name without a type name prefix.

- Swift Programming Language (enfasi aggiunta da me .)

    
risposta data 29.07.2015 - 16:10
fonte

Leggi altre domande sui tag