- (void)writeImageDataToSavedPhotosAlbum:(NSData *)imageData metadata:(NSDictionary *)metadata completionBlock:(ALAssetsLibraryWriteImageCompletionBlock)completionBlock
在此函数签名中,completionBlock
has类型ALAssetsLibraryWriteImageCompletionBlock
。但是,由于创建匿名函数时,我们使用
^(int a){
//code here
}
似乎我们从未指定过任何要作为type
块的内容。那么如何在这里理解这种不寻常的类型呢?
如果您查看文档,ALAssetsLibraryWriteImageCompletionBlock
其定义为:
typedef void (^ALAssetsLibraryWriteImageCompletionBlock)(NSURL *assetURL, NSError *error);
这是一个没有返回值的块,具有两个参数。
您的代码必须类似于:
[library writeImageDataToSavedPhotosAlbum:someData metadata:someMetaData completionBlock:^(NSURL *assetURL, NSError *error) {
// completion handler code here with access to assetURL and error
}];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句