Sök…


typealias för stängningar med parametrar

typealias SuccessHandler = (NSURLSessionDataTask, AnyObject?) -> Void

Detta kodblock skapar ett SuccessHandler namnet SuccessHandler , precis på samma sätt var string = "" skapar en variabel med string .

Nu när du använder SuccessHandler , till exempel:

func example(_ handler: SuccessHandler) {}

Du skriver essentiellt:

func example(_ handler: (NSURLSessionDataTask, AnyObject?) -> Void) {}

typealier för tomma stängningar

typealias Handler = () -> Void
typealias Handler = () -> ()

Det här blocket skapar ett typalias som fungerar som en Void to Void-funktion (tar inga parametrar och returnerar ingenting).

Här är ett användningsexempel:

var func: Handler?

func = {}

typealier för andra typer

typealias Number = NSNumber

Du kan också använda ett typalias för att ge en typ ett annat namn för att göra det lättare att komma ihåg eller göra din kod mer elegant.

typealier för tuples

typealias PersonTuple = (name: String, age: Int, address: String)

Och detta kan användas som:

func getPerson(for name: String) -> PersonTuple {
    //fetch from db, etc
    return ("name", 45, "address")
}


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow