Si j'ai besoin d'un type personnalisé dans Swift, que je pourrais typedef
, comment puis-je le faire? (Quelque chose comme une syntaxe de fermeture typedef)
Le mot clé typealias
est utilisé à la place de typedef
typealias CustomType = String
var customString:CustomType = "Test String"
ajouté à la réponse ci-dessus:
"typealias" est le mot clé utilisé est Swift qui a une fonction similaire à celle de typedef.
/*defines a block that has
no input param and with
void return and the type is given
the name voidInputVoidReturnBlock*/
typealias voidInputVoidReturnBlock = () -> Void
var blockVariable :voidInputVoidReturnBlock = {
println(" this is a block that has no input param and with void return")
}
Pour créer un typedef avec input param, la syntaxe est la suivante:
/*defines a block that has
input params NSString, NSError!
and with void return and the type
is given the name completionBlockType*/
typealias completionBlockType = (NSString, NSError!) ->Void
var test:completionBlockType = {(string:NSString, error:NSError!) ->Void in
println("\(string)")
}
test("helloooooooo test",nil);
/*OUTPUTS "helloooooooo test" IN CONSOLE */