1. 程式人生 > >創建回調函數

創建回調函數

log sig @property ini port rac tracking sign face

1.新建一個空的project,在project中隨便創建一個類,比方:
.h文件
#import <UIKit/UIKit.h>

typedef void(^resultBlock)(void);

@interface MyView : UIView

//回調函數的聲明
@property (assign, nonatomic)resultBlock block;

//回調函數的實如今調用端實現
- (void)doSomething:(NSString *)string withTheBlock:(resultBlock)block;

@end

.m文件
#import "MyView.h"

@implementation MyView

- (void)doSomething:(NSString *)string withTheBlock:(resultBlock)block
{
    self.block = block;
    NSLog(@"string:%@",string);
    
    if (self.block) {
        self.block();
    }
}
@end

2.在ViewController中實現
- (void)viewDidLoad {
    [super viewDidLoad];

    MyView *view = [[MyView alloc]init];
    
    [view doSomething:@"Hello" withTheBlock:^{
        
        NSLog(@"這裏是回調");
    }];

}

這樣就實現了調用MyView對象的一個方法結束後。調用ViewController類中的方法。

創建回調函數