iOS简单学之9-delegate

2016-11-09  本文已影响19人  南风无影

delegate,顾名思义就是托管,代理。
比如你要卖房子,你把它挂在中介,中介帮你发布在网上,有买家买的话,中介就会通知你,所以delegate就是那个万恶的中介。

头文件VideoRecorderProtocol.h我们可以这么写:

@protocol VideoRecorderDelegate <NSObject>
//录制结束
- (void)finished:(id)session  error:(NSError *)err;
@end

实现代码VideoRecorderKit.m中可以这么写:

- (void)finished {
    //回调录制finished通知给app
    if(self.delegate
       && [self.delegate respondsToSelector:@selector(finished:)]){ //用来判断是否有以finished命名的方法
        NSLog(@"通知应用结束...\n");
        [self.delegate finished:self error:nil];
    }
}

什么时候调用呢? 在关闭录制的时候

- (void)stopRecoder {
            ......
            //停止写文件 关闭编码Target
            [self.filter removeTarget:_movieWriter];
            self.videoCamera.audioEncodingTarget = nil;
            [_movieWriter finishRecording];
            //通知应用录制结束了
            [self finished];
}
上一篇 下一篇

猜你喜欢

热点阅读