Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I declare typedef in Swift

If I require a custom type in Swift, that I could typedef, how do I do it? (Something like a closure syntax typedef)

like image 267
esh Avatar asked Jun 06 '14 08:06

esh


2 Answers

The keyword typealias is used in place of typedef:

typealias CustomType = String var customString: CustomType = "Test String" 
like image 133
Anil Varghese Avatar answered Oct 03 '22 09:10

Anil Varghese


added to the answer above:

"typealias" is the keyword used is swift which does similar function as 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")      }  

To create a typedef with input param the syntax is as shown below :

    /*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 */ 
like image 29
sreejithkr Avatar answered Oct 03 '22 10:10

sreejithkr