你好,请将详细的代码片段以及日志粘贴出来看下。
打开日志的方法:
Android SDK :
AVOSCloud.setDebugLogEnabled(true);
iOS SDK:
[AVOSCloud setAllLogsEnabled:YES];

代码:

[self.post fetchIfNeededInBackgroundWithBlock:^(AVObject *object, NSError *error) {
........
}
我设置了断点,调用该函数的时候没有日志输出。

1、我用selectedkeys 获取了post的一部分数据
2、调用fetchifneededinbackground 尝试获取所有数据 但是失败了,post还是只包含selected keys.

这两步的全部代码以及日志是什么?

  1. (AVQuery *)queryForTable:(int) skip {
  2. AVQuery *query;
    query = [AVQuery queryWithClassName:self.parseClassName];

query = [Utility getFilterQuery:query];
AVQuery* adsQuery = [Utility getAdsQuery];

query = [AVQuery orQueryWithSubqueries:@[query,adsQuery]];

//just get the cover and title in this step
[query selectKeys:[Utility getSelectedKeys]];

[query setLimit:self.objectsPerPage];
[query setSkip:skip];

[query orderByDescending:@"priority"];
[query addDescendingOrder:@"date"];

return query;

}

  1. fetch函数里面没啥啊 就是获取内容, 日志感觉是一大堆无关的东西..是其他函数输出的, 发现app key 都在里面 差点贴上来了....

或者你有啥真实案例能表明这个函数是work的吗 我自己试下也行....

我把fetchifneededinbackground 改成了 fetchinbackground 就行了。 我看了下 fetchifneeded 没调用应该是因为isDataAvailabel 是true, 但是不知道为啥会是true

我正在查看这个问题,请不要着急。

你好,文档有误,抱歉给您带来了不便,应该是 fetchinbackground 这个方法,我们将尽快修复文档。

我觉得文档可能是没错的。关键就在于fetchifneededinbackground 到底是不是应该在这种场景下使用...