当我试图使用AWSS3TransferManager运行一个块时,我得到了以下错误:
incompatible block pointer types sending 'id ((^)(void)) to parameter of type 'AWSContinuationBlock' (aka id (^)(AWSTask *__strong))我相信这是由于不同的块类型造成的,在这些块类型中,当期望一个AWSTask时,我不返回任何值,但是我不知道如何返回一个AWSTask。
_uploadRequest = [AWSS3TransferManagerUploadRequest new];
AWSS3TransferManager *transferManager = [AWSS3TransferManager defaultS3TransferManager];
[[transferManager upload:_uploadRequest] continueWithExecutor:[BFExecutor mainThreadExecutor] withBlock:^id(BFTask *task){
if (task.error){
NSLog(@"%@",task.error);
}
}];发布于 2015-07-31 06:29:05
错误是由于您提供的块需要一个BFTask参数。
将BFTask参数更改为AWSTask并返回该参数。
_uploadRequest = [AWSS3TransferManagerUploadRequest new];
AWSS3TransferManager *transferManager = [AWSS3TransferManager defaultS3TransferManager];
[[transferManager upload:_uploadRequest] continueWithExecutor:[BFExecutor mainThreadExecutor] withBlock:^id(AWSTask *task){
if (task.error){
NSLog(@"%@",task.error);
}
return task;
}];https://stackoverflow.com/questions/31739190
复制相似问题