Ios 如何解决目标C中成功回调的预期“')”错误
我正在尝试将Quickblox聊天集成到现有的Objective C Xcode应用程序中。下面的方法在另一个应用程序中起作用,用于向聊天对话框发送附件Ios 如何解决目标C中成功回调的预期“')”错误,ios,objective-c,xcode,quickblox,xcode10,Ios,Objective C,Xcode,Quickblox,Xcode10,我正在尝试将Quickblox聊天集成到现有的Objective C Xcode应用程序中。下面的方法在另一个应用程序中起作用,用于向聊天对话框发送附件 dispatch_async(dispatch_get_main_queue(), ^{ [QBRequest TUploadFile:imageData fileName:@"test.png" contentType:
dispatch_async(dispatch_get_main_queue(), ^{
[QBRequest TUploadFile:imageData
fileName:@"test.png"
contentType:@"image/png"
isPublic:NO
successBlock:^( QBResponse * _Nonnull response, QBCBlob * _Nonnull uploadedBlob )
{
QBChatAttachment *attachment = [[QBChatAttachment alloc] init];
attachment.url = uploadedBlob.privateUrl ? uploadedBlob.privateUrl : uploadedBlob.publicUrl;
attachment.ID = uploadedBlob.UID;
attachment.name = uploadedBlob.name;
attachment.type = @"image";
if ([strongSelf.delegate respondsToSelector:@selector(attachmentBar:didUpLoadAttachment:)]) {
[strongSelf.delegate attachmentBar:strongSelf didUpLoadAttachment:attachment];
}
} statusBlock:^(QBRequest * _Nonnull request, QBRequestStatus * _Nonnull status) {
CGFloat progress = status.percentOfCompletion;
[strongSelf updateLoadingProgress:progress];
} errorBlock:^(QBResponse * _Nonnull response) {
if ([strongSelf.delegate respondsToSelector:@selector(attachmentBarFailedUpLoadImage:)]) {
[strongSelf.delegate attachmentBarFailedUpLoadImage:strongSelf];
}
}];
});
但是succesBlock回调不断抛出预期错误
successBlock:^( QBResponse * _Nonnull response, QBCBlob * _Nonnull uploadedBlob )
完整错误如下面的屏幕截图所示
我做错了什么。预期的错误实际上是由@DonMag和@Pankaj Gaikar怀疑的另一个错误引起的 错误是
"use of undeclared identifier QBRequest"
即使在所说的QBRequest上单击一个命令会获得指向Quickblox.h引用的链接,我还是意识到ChatAttachment类实际上并不是Quickblox.h
因此,解决方案是在prefix.pch文件中导入Quickblox.h
如果您的应用程序尚未创建prefix.pch文件,请执行以下步骤
从Xcode菜单中,选择文件>新建>文件
从iOS模板选项中,选择其他>PCH文件
将文件命名为-Prefix.pch,然后选择“创建”
从目标的生成设置中,选择“全部”,然后将以下内容添加到前缀标题字段
$SRCROOT/-Prefix.pch
我希望这对某些人有所帮助。只是猜测,但可能是您错过了导入某些内容,因此编译器无法识别QBResponse。@Pankaj QBResponse在QuickBlox framework的标题中引用。一个命令click链接到引用,我说bcz已经出现了一个错误,建议转发类对象,这清楚地表明您仍然必须导入某些内容。@kplus-如果删除_Nonnull关键字会发生什么?@kplus-您发布的图像似乎表明该successBlock有3个问题:行。。。可能预期的错误是由另一个错误引起的?