ios - 如何检查一个区 block 是否实现?

标签 ios objective-c block

在我的代码中,如果我直接使用该 block :

- (IBAction)checkPendingAction:(UIButton *)sender {
    self.block(sender.titleLabel.text);  // if the block is no realize, there will report EXC_BAD_ACCESS(code=x, address=0x11xx)
}

如果我使用委托(delegate),我可以使用下面的代码来检查我的委托(delegate)和委托(delegate)方法是否实现:

if ([self.delegate respondsToSelector:@selector(myDelegateMethod:)]) {
    [self.delegate tabBarClickWriteButton:self];
}

那么,我可以检查一下该 block 是否在 iOS 中实现了吗?

最佳答案

使您的 block 成为具有“强”引用的属性。并在需要时在其中使用 self 的弱引用。

在调用 block 之前检查一下

如果( block ){

block (数据);

关于ios - 如何检查一个区 block 是否实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43993257/

相关文章:

ios - 在 SpriteKit 中创建可滚动表格的正确方法是什么?

objective-c - Obj-C 中哪个对象调用了另一个对象的方法

ios - 无法使用 block 在 UITableViewCell 中设置 UIButton 标题

html - 显示 block 的定位问题

android - 按钮的渐变背景 - 自定义渲染器

iphone - 获取当前正在使用的 UIKeyBoardType?或者在 UIKeyboardType 发生变化时捕获

ios - 如何创建一个 UIView,根据按下显示 View 的按钮来显示某些信息?

iOS - 目标 - C Google Maps 使用未声明的标识符

Ruby 不同的行为取决于 block 类型

ios - CLLocation 服务。添加了 plist key 和请求权限,但仍然不适用于 IOS 8