使用localDataStore从Parse Query中查找对象会导致找不到网络?

时间:2015-03-20 07:53:06

标签: ios objective-c parse-platform local-datastore

我正在进行一个项目,我使用parse版本 1.6.5 localDataStore,在AppDelegate我启用了{{1}喜欢

localDatastore

并且在我的[Parse enableLocalDatastore]; [Parse setApplicationId:@"AppId" clientKey:@"ClientKey"]; 我有一个条件是应用程序是否运行第一次,如果是第一次,从服务器检索并将所有对象固定到本地。否则从ViewController我的代码

中检索
localDatastore

问题是第一个应用程序成功运行并在collectionView中显示检索到的对象,而第二次应用程序有一个长时间运行的后台任务,因为我从if ([self isAppLaunchingForFirstTime]) { PFQuery *query = [PFQuery queryWithClassName:@"Category"]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){ if (error) { [[[UIAlertView alloc]initWithTitle:@"Failed!" message:@"error" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles: nil] show]; } else { if (objects.count) { [self.categoryArray addObject:objects]; [self.collectionView reloadData]; [PFObject pinAllInBackground:objects block:^(BOOL succeeded, NSError *error) { if (succeeded) { NSLog(@"Pinned successfully"); }else { [[[UIAlertView alloc]initWithTitle:@"Error" message:@"Pinning" delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:nil] show]; } }]; } else { [[[UIAlertView alloc]initWithTitle:@"Alert!" message:@"No Records" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles: nil] show]; } } }]; } else { PFQuery *query = [PFQuery queryWithClassName:@"Category"]; [query fromLocalDatastore]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){ if (error) { [[[UIAlertView alloc]initWithTitle:@"Failed!" message:error.description delegate:self cancelButtonTitle:@"Ok" otherButtonTitles: nil] show]; } else { if (objects.count) { [self.categoryArray addObject:objects]; [self.collectionView reloadData]; } else { [[[UIAlertView alloc]initWithTitle:@"Alert!" message:@"No Records" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles: nil] show]; } } }]; } 检索它检查对于网络连接,它重试5次以获取每个对象。 localDataStore是否需要网络连接。

错误登录控制台:      这是重复发生36次以获取7个对象的错误。

localDataStore

2 个答案:

答案 0 :(得分:0)

您的代码应该可以正常运行。但似乎isAppLaunchingForFirstTime标志在对象成功固定后未设置

答案 1 :(得分:0)

我建议在Parse bug报告中报告此问题:https://www.parse.com/help#