`PFFile getDataInBackgroundWithBlock`块没有被调用Obj-C

时间:2015-01-05 09:44:26

标签: parse-platform objective-c-blocks

我有以下代码,从Parse检索图像。此代码块位于递归循环中,可以调用数组中的图像列表。

PFFile *remoteImageFile             =   object[@"Image"]
[remoteImageFile getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
    DDLogInfo(@"%s:%d %@", __PRETTY_FUNCTION__, __LINE__, [error debugDescription]);
    // other logics
}];

代码成功获取大部分图像,图像大小为2MB到3MB。但随机它对某些文件失败,并且块没有被触发,我的整个提取操作冻结。无法找到原因。

请帮助

1 个答案:

答案 0 :(得分:2)

我怀疑Parse框架中存在一个错误。最可能的原因是您的remoteImageFile为零,这意味着甚至不会调用getDataInBackgroundWithBlock:。 您可以使用以下代码进行检查:

PFFile *remoteImageFile = object[@"Image"];
if (remoteImageFile == nil || ![remoteImageFile isKindOfClass:[PFFile class]]) {
    NSLog(@"Error : remoteImageFile = %@", remoteImageFile);
} else {
    [remoteImageFile getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
        DDLogInfo(@"%s:%d %@", __PRETTY_FUNCTION__, __LINE__, [error debugDescription]);
        // other logics
    }];
}