1.作为函数的参数使用
- (void)test_3_block:(void(^)(void))param;
- (void)test_4_block:(void(^)(BOOL finished))completion;
-(void)test_3_block:(void (^)(void))param{
NSLog(@"%s",__func__);
if (param) {
param();
}
}
-(void)test_4_block:(void (^)(BOOL))completion{
NSLog(@"%s",__func__);
if (completion) {
completion(YES);
}
}
2.
#import <Foundation/Foundation.h>
typedef void (^test_block)(void);
@interface blocks_func : NSObject
@property (nonatomic, strong)test_block isBlock;
@end
#import "blocks_func.h"
@implementation blocks_func
-(id)init{
self = [super init];
if (self) {
if (self.isBlock) {//判断block是否实现
self.isBlock();
}
}
return self;
}
@end