Fetch回调块永远不会被调用

时间:2014-08-28 15:18:49

标签: ios objective-c parse-platform

在iOS应用中,我正在开发我使用parse.com作为我的后端。 SDK版本为1.2.20。

执行这样的提取时出现问题:

[PFObject fetchAllIfNeededInBackground:objectsToFetch block:^(NSArray *objects, NSError *error) {
        [[NSOperationQueue mainQueue] addOperationWithBlock:^{
            [self.collectionView reloadData];
        }];
    }];

此块永远不会被调用,有或没有错误。没有超时,没有办法调试或知道发生了什么。

我也尝试过这种形式:

    NSOperationQueue * parseQueue = [NSOperationQueue new];
    [parseQueue addOperationWithBlock:^{
        [PFObject fetchAll:objectsToFetch];
        [self.collectionView reloadData];
    }];

我在重装数据上设置了一个断点,它永远不会被击中。

" po objectsToFetch"从调试器控制台:

<__NSArrayM 0x11620c710>(
<Object:g06aHOTaLI:(null)> {
},
<Object:XDTcLQCegF:(null)> {
},
<Object:KCIFxCSBUw:(null)> {
},
<Object:g06aHOTaLI:(null)> {
},
<Object:0PjRyl9cC4:(null)> {
},
<Object:WjYY01c931:(null)> {
},
<Object:m9F2Dm8HhD:(null)> {
}
)

有人能指出我正确的方向来解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

经过大量工作后,我发现只有在数组中有重复的对象才能获取时才会出现此问题。

正如您在上面发布的数组中所看到的,实际上存在重复的对象。

我想收到某人parse.com的回复。这是预期的行为还是一个错误?

如果是预期的行为,则应该调用该块并显示错误,并显示一条消息,指出在执行批量提取时不允许重复的对象。

文档中没有任何内容。

如果是错误,我很乐意发布错误报告。