如何将事件处理程序块放在自定义 class

How do I put an event handler block on a custom class

我想制作一个全局工具提示样式 class,它根据上下文具有不同的操作,如何将事件处理程序块放在特定操作(例如点击)上?例如:

MyClass *toolTip = [MyClass new];
toolTip.text = @"Here is a tip, click here to do something";
toolTip.tapHandler = ^{
    //Custom actions here
}

猜猜您想要定义块的处理程序 属性。你可以像这样定义这样一个属性。

@interface MyClass : NSObject
@property (strong, nonatomic) void (^tapHander)(void);
@end

或者,您可以使用 typedef 使其更清晰。

typedef void (^HandlerBlock)(void);

@interface MyClass : NSObject
@property (strong, nonatomic) HandlerBlock tapHandler;
@end