2015-07-30 5 views
2

В ObjectiveC я могу определить блок, который будет использоваться во многих местах, какКак определить блок в Swift, как в Objective-C?

typedef void (^APISuccessHandler)(RKObjectRequestOperation *operation, RKMappingResult *result); 

, а затем использовать его в (например) ViewController Собственость

@property (nonatomic, copy) APISuccessHandler successHandler; 

Как же в стрижа?

+1

http://stackoverflow.com/questions/24077428/how-do-i-declare-typedef-in-swift для typedef, http://fuckingswiftblocksyntax.com/ для синтаксиса быстрых блоков –

ответ

3

Применение typealias

typealias MyType=(str:String,num:Int)->() 

Затем

var test:MyType = {(str,num) in 
    println(str) 
    println(num) 
} 

Выполнить блок

test(str: "123", num: 1) 

Выход

123 
1 
Смежные вопросы