block 申明及用法

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章