2015-12-19 4 views
2

В ObjC, у меня есть функция объявлена ​​какObjC делегат обратного вызова в Swift

-(void)fubar:(void(^)(NSDictionary *))callback; 

Это, как я буду использовать в ObjC

fubar(^(NSDictionary *dict) { 
    console.log(dict); 
}) 

Как использовать то же самое в Swift после преодоление?

ответ

1

Поскольку это последний параметр может быть использован в качестве крышки ведомой:

fubar { (dict) in 
    print(dict) // prints dictionary 
} 

Или еще короче

fubar() { 
    print($0) // prints dictionary 
} 

Read the section on Trailing Closures in Apple's Swift book for more info.

+0

Спасибо дружище! Я настолько смущен подсказками xcode и всем синтаксисом [NSObject: AnyObject] – pinkman

+0

Слишком быстро. Я принимаю через некоторое время – pinkman

+0

Рад, что он работает :) –

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