我已经尝试通过以下示例检索我的表中的所有行: http://alexefish.tumblr.com/post/29843064002/fetching-every-row-of-a-table-with-parse-and-pfquery
...在iOS7上崩溃,使用exc_bad_access行weakPointer()再次调用循环。
你知道解决方法吗?
答案 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个对象),所以我们可能需要很快再次适应。