Получение 'Этот запрос имеет выдающееся сетевое соединение.'

Я получаю сообщение "Этот запрос имеет выдающееся сетевое соединение."

Я знаю, что разрешен только один запрос, и я думаю, что это то, что я делаю здесь, но, очевидно, нет

retrieveFromParse находится в viewDidLoad.

-(void) retrieveFromParse{

    PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];
    [query whereKey:@"photo" equalTo:[PFObject objectWithoutDataWithClassName:@"photoObject" objectId:self.currentObjectID]];
    [query orderByDescending:@"createdAt"];

    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error) {
        // The find succeeded.
            NSLog(@"Successfully retrieved %d scores.", (int)objects.count);
            // Do something with the found objects
            for (PFObject *object in objects) {
                NSLog(@"%@", object.objectId);

                self.commentArray = [object objectForKey:@"comment"];
            }
        } else {
            // Log details of the failure
            NSLog(@"Error: %@ %@", error, [error userInfo]);
        }
    }];

    // If no objects are loaded in memory, we look to the cache
    // first to fill the table and then subsequently do a query
    // against the network.
    if ([self.objects count] == 0) {
        query.cachePolicy = kPFCachePolicyCacheThenNetwork;
    }
}


- (id)initWithStyle:(UITableViewStyle)style currentObjectID:(NSString*) currentObjectID {
    self = [super initWithStyle:style];
    if (self) {

        self.currentObjectID = currentObjectID;

        self.parseClassName = @"extra";
        self.pullToRefreshEnabled = YES;
        self.paginationEnabled = NO;
        self.objectsPerPage = 25;

    }
    return self;
}

1 ответ

Проблема здесь:

if ([self.objects count] == 0) {
    query.cachePolicy = kPFCachePolicyCacheThenNetwork;
}

Вы звоните, когда звоните в фоновом режиме. Другими словами, вы пытаетесь изменить query это делается в данный момент в фоновом режиме - вызывая ошибку. Попробуйте это вместо этого:

-(void) retrieveFromParse{

    PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];
    [query whereKey:@"photo" equalTo:[PFObject objectWithoutDataWithClassName:@"photoObject" objectId:self.currentObjectID]];
    [query orderByDescending:@"createdAt"];

    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error) {
        // The find succeeded.
            NSLog(@"Successfully retrieved %d scores.", (int)objects.count);
            // Do something with the found objects
            for (PFObject *object in objects) {
                NSLog(@"%@", object.objectId);

                self.commentArray = [object objectForKey:@"comment"];
            }
        } else {
            // Log details of the failure
            NSLog(@"Error: %@ %@", error, [error userInfo]);
        }

        // If no objects are loaded in memory, we look to the cache
        // first to fill the table and then subsequently do a query
        // against the network.
        if ([self.objects count] == 0) {
            query.cachePolicy = kPFCachePolicyCacheThenNetwork;
        }
    }];
}
Другие вопросы по тегам