我必须在以下位置使用快速制作的代码:https://github.com/lourenco-marinho/ActionButton
但在一个Objective-C项目中。我无法将以下快速行转换为Objective-C:
actionButton.action = { button in button.toggleMenu() }
P.S.在此代码之前或之后没有变量
button
的引用让我展示一下如何定义事物:
actionButton
是:var actionButton: ActionButton!
ActionButton
是一个NSObject类action
在ActionButton类中定义为:var action: ActionButtonAction?
ActionButtonAction
是:typealias ActionButtonAction = (ActionButton) -> Void
类中全局定义的ActionButton
漂亮凌乱?好吧,我仍然想理解/将上面的快速声明转换为Objective-C。
为了通关,您可以点击上面的链接。
最佳答案
那是 objective-c 的障碍
actionButton.action = ^(ActionButton * button){
[button toggleMenu];
};
另外,转换为 objective-c 的类型是
typedef void(^ActionButtonAction)(ActionButton * button);