2015-06-19 80 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

你是一個冠軍,男人!非常感謝。讓我接受答案.. –