如何理解Objective-C块的类型?

一零
- (void)writeImageDataToSavedPhotosAlbum:(NSData *)imageData metadata:(NSDictionary *)metadata completionBlock:(ALAssetsLibraryWriteImageCompletionBlock)completionBlock

在此函数签名中,completionBlockhas类型ALAssetsLibraryWriteImageCompletionBlock但是,由于创建匿名函数时,我们使用

^(int a){
    //code here
}

似乎我们从未指定过任何要作为type块的内容。那么如何在这里理解这种不寻常的类型呢?

rmaddy

如果您查看文档,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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Objective-C块作为返回类型

来自分类Dev

Objective-C块参数类型推断

来自分类Dev

如何在Objective C中存储块?

来自分类Dev

如何实现Objective C类的块属性

来自分类Dev

Swift更改块参数的类型,这也是Objective-C方法的参数

来自分类Dev

如何用Swift语法编写这个Objective-C块?

来自分类Dev

Objective-C块错误

来自分类Dev

块编程iOS Objective c

来自分类Dev

如何在C#中的创建块中一行中检查变量类型

来自分类Dev

难以理解Objective-C中的指针

来自分类Dev

如何在Objective-C中将块内的变量分配给块外的变量

来自分类Dev

如何在Objective-C中将块内的变量分配给块外的变量

来自分类Dev

C语言中的Objective-C块

来自分类Dev

Objective-C块:从块内部返回__block变量

来自分类Dev

使用Swift处理Objective-C块

来自分类Dev

突破嵌套块Objective-C

来自分类Dev

Objective-C:UIView动画+块+递归

来自分类Dev

Objective-C:块中的动画

来自分类Dev

Objective-C块寿命ARC

来自分类Dev

使用递归块的objective-c

来自分类Dev

从Objective-c快速进行块转换

来自分类Dev

Objective-C:UIView动画+块+递归

来自分类Dev

Rubymotion和Objective C吸气剂块

来自分类Dev

Objective-C引用块外的变量

来自分类Dev

从Swift调用Objective-C typedef块

来自分类Dev

在objective-c块中传递参数

来自分类Dev

检查Objective-C块类

来自分类Dev

如何找到Objective-C泛型类型?

来自分类Dev

如何知道Objective C指针是否为“ Class”类型?