完成处理程序在IBAction方法中调用

问题描述:

我正在调试有一个旧库的旧项目。我不知道他们如何从按钮操作方法调用块处理程序。他们有他们在那里声明的方法完成处理程序在IBAction方法中调用

+ (void) method: (NSString *) parameter; 

在我的猜测,他们将取消按钮和操作方法的按钮类。他们宣布块作为

typedef void (^simpleBlock)(void); 

@property (nonatomic, copy) simpleBlock simpleBlock; 

而当它在视图控制器类中实现它被称为

[ClassName method:@"parameter"].simpleBlock = ^{ 
     //Do something 
    }; 

他们怎么会挂与按钮动作块和方法,因为我不能因为它是库,只有头文件。理解这个实现的任何帮助将不胜感激。谢谢!

有关任何这样的行动,我们代码调用的块,

TotalLikes_Comments.h

@property (nonatomic, copy) void (^LikeButtonTapAction)(TotalLikes_Comments *aCell); 

- (IBAction)openLikesClick:(id)sender; 

TotalLikes_Comments.m方法的实际实施是

- (IBAction)openLikesClick:(id)sender { 
    if (self.openLikesTapAction) { 
     self.openLikesTapAction(self); 
    } 
} 

凡每当按钮点击此块初始化为类的对象,

每当我们想要的动作没有必要写在类文件theaction代码只写你的代码,你必须初始化类eg.in cellforrow atIndexpath

cell.LikeButtonTapAction = ^(TotalLikes_Comments *aCell){ 
    // Do your stuff. 
}; 

以上是用于调用区块IBAction为逻辑。 但在你的情况下,这是写在框架。 Ibaction逻辑隐藏于其中。例如。

if(self.openLikesTapAction) { 
    self.openLikesTapAction(self); 
    } 

希望你有一个想法。