tutorial programar programacion para mac libro lenguaje español desarrollo aprender apple swift

programar - ¿Método de nivel de clase o nivel de estructura en swift como método estático en Java?



swift para windows (3)

¿Hay una manera de agregar método a nivel de clase o nivel de estructura en swift?

struct Card { var rank: Rank var suit: Suit func simpleDescription() -> String { return "The /(rank.simpleDescription()) of /(suit.simpleDescription())" } }

Extracto de: Apple Inc. "El lenguaje de programación Swift". IBooks. https://itun.es/us/jEUH0.l

Ahora, si quisiera agregar un método que cree un mazo de cartas completo, ¿cuál sería la mejor manera de lograrlo?


En Struct:

struct MyStruct { static func something() { println("Something") } }

Llamado a través de:

MyStruct.something()

En la clase

class MyClass { class func someMethod() { println("Some Method") } }

llamado a través de:

MyClass.someMethod()


Para agregar un método de nivel de tipo en una clase, agregue la palabra clave de class antes de la declaración de la func :

class Dealer { func deal() -> Card { ... } class func sharedDealer() -> Dealer { ... } }

Para agregar un método de nivel de tipo en una estructura o enumeración, agregue la palabra clave static antes de la declaración de la func :

struct Card { // ... static func fullDeck() -> Card[] { ... } }

Ambos son generalmente equivalentes a los métodos estáticos en Java o métodos de clase (declarados con un +) en Objective-C, pero la palabra clave cambia en función de si está en una clase o estructura o enumeración. Ver Métodos de Tipo en el libro The Swift Programming Language .


p 353

class SomeClass { class func someTypeMethod() { // type method implementation goes here } } SomeClass.someTypeMethod()

Extracto de: Apple Inc. "El lenguaje de programación Swift". IBooks. https://itun.es/us/jEUH0.l