如何在 objective-c class 中包含可选块?

How to have optional blocks in an objective-c class?

我有一个 class 我想要两个可选块

所以在 class.h:

@property (nonatomic, copy) void (^onConnectBlock)(void);

并且在class里面的一个方法中:

我有:

_onConnectBlock();

很遗憾,如果没有设置:

[class setOnConnectBlock:^{
    [class send:auth];
}];

应用程序崩溃 EXC_BAD_ACCESS

我已尝试添加异常块,但仍然 returns EXC_BAD_ACCESS?

@try {
    _onCloseBlock();
}
@catch (NSException *exception) {

}

你可以试试这个:

if (self.onCloseBlock){
   _onCloseBlock();
}