2015-06-19 55 views
1

我必须在以下代码上使用快捷代码:https://github.com/lourenco-marinho/ActionButton 但是在Objective-C项目中。我无法将以下快速行转换为Objective-C:需要将快速代码片段转换为Objective C

actionButton.action = { button in button.toggleMenu() } 

P.S.有之前或此代码后没有变量button参考

让我告诉事情是如何定义的:

actionButton是:var actionButton: ActionButton!ActionButton

action在ActionButton类中定义的NSObject类作为:var action: ActionButtonAction?

ActionButtonAction是:typealias ActionButtonAction = (ActionButton) -> Void定义全球在ActionButton

很凌乱?那么,我仍然想理解/将上面的swift语句转换为Objective-C。 关于清关,你可以按照上面的链接。

+0

Objective-C和夫特是桥连的:可以调用从Objective-写入夫特的函数C和反之亦然。 –

+0

在swift语句中,actionButton的动作变量是以某种神秘的方式分配的。我如何在Objective-C中做同样的事情? –

回答

1

即块在目标C

actionButton.action = ^(ActionButton * button){ 
    [button toggleMenu]; 
}; 

另外,typealise转换为目标c是

typedef void(^ActionButtonAction)(ActionButton * button); 
+0

你是一个冠军,男人!非常感谢。让我接受答案.. –