如何从iOS中的Parse检索所有行

时间:2014-07-31 09:13:11

标签: ios objective-c recursion parse-platform

我已经尝试通过以下示例检索我的表中的所有行: http://alexefish.tumblr.com/post/29843064002/fetching-every-row-of-a-table-with-parse-and-pfquery

...在iOS7上崩溃,使用exc_bad_access行weakPointer()再次调用循环。

你知道解决方法吗?

1 个答案:

答案 0 :(得分:0)

我们遇到了同样的问题,所以我最终重写代码以避免阻塞,这些并不是必需的。代码崩溃,因为weakPointer变为零。

此代码的扩展名为PFQuery,但也可以采用不同的方式进行调整。

#import "PFQuery+Additions.h"

@implementation PFQuery (Additions)

- (void)findAllObjectsInBackgroundWithBlock:(PFArrayResultBlock)block {
    self.limit = 1000;
    [self putObjectsWithSkip:0 into:[NSMutableArray array] block:block];
}

- (void)putObjectsWithSkip:(NSInteger)skip into:(NSMutableArray *)results block:(PFArrayResultBlock)block {
    self.skip = skip;

    [self findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (error) {
            block(nil, error);
        }
        else {
            [results addObjectsFromArray:objects];
            if (objects.count == self.limit) {
                [self putObjectsWithSkip:(skip + self.limit) into:results block:block];
            }
            else {
                block(results, nil);
            }
        }
    }];
}

@end

我已经测试了多达5,600个对象。 skip的限制是10,000(总共11,000个对象),所以我们可能需要很快再次适应。