web-dev-qa-db-fra.com

Comment déclarer typedef dans Swift

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)

68
esh

Le mot clé typealias est utilisé à la place de typedef

typealias CustomType = String
var customString:CustomType = "Test String"
124
Anil Varghese

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 */
12
sreejithkr