Intereting Posts
Моделирование скорости ipod wifi (eb 3G) Когда использовать restoreCompletedTransactions в автообновляемых подписках? В чем разница между UUID, сгенерированным с использованием CFUUID и класса NSUUID? Настройте iOS plist, чтобы связанные файлы открывались только в моем приложении Как использовать действительный SSL-сертификат для подключения https с использованием AFNetworking в iOS? Несколько ошибок XIB: не удалось загрузить NIB в комплекте UITableViewCell выглядит во время работы по-разному, чем в InterfaceBuilder (на iPad) UIImageView zoom, tap, жесты не работают Отмененная операция все еще запущена Возможно ли иметь объект Objective-C, который загружается только в том случае, если метод еще не существует? Как заставить UITabBar расшириться донизу на iPhone X? Сохранение / копирование NSMutableString одинаковое (копия не работает?) Приложение показывает растянутую клавиатуру Как конвертировать из UICollectionElementKindSection.Header в NSString? Как найти две опорные точки в iOS8 для внутренней карты?

Parse checkIfCommandIsRunning Pausing App

По какой-то причине я не могу разобраться, это только начало происходить из-за синего. При запуске приложения iOS приложение приостанавливается на точку останова следующим образом:

[PFQuery checkIfCommandIsRunning] 

Я считаю, что это частный метод Parse. Если я выключу контрольные точки, это не проблема, но здесь явно что-то странно. У меня есть точка останова для всех исключений. Это то, что приостанавливает приложение в этом случае.

Любые подсказки? Я действительно не знаю, к чему это относится. Любая помощь очень ценится, спасибо.

РЕДАКТИРОВАТЬ:

Вот метод в MY-коде, на который останавливается точка останова. Это указано в 3 методах, предшествующих checkIfCommandIsRunning в очереди потоков.

 //get objects we want to delete [deleteQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { if (!error) { //create array of ids from delete list NSMutableArray *deletedObjectIds = [NSMutableArray new]; for (PFObject *obj in objects) [deletedObjectIds addObject:obj.objectId]; //update main query to not include these objects [_query whereKey:@"objectId" notContainedIn:deletedObjectIds]; } }]; 

То, что я делаю в этом коде, просто. У меня есть PFQuery который извлекает все объекты с определенным pinName которое я помечен как удаляемый. Точная линия, на которой он останавливается, такова:

[_query whereKey:@"objectId" notContainedIn:deletedObjectIds];

Есть еще подсказки?

Вы правы. PFQuery.checkIfCommandIsRunning – это частный метод, который гарантирует, что PFQuery не будет выполняться более одного раза в PFObject .

Ошибка, которую он выбрасывает:

Этот запрос имеет выдающееся сетевое соединение. Вы должны подождать, пока это не будет сделано.

Убедитесь, что вы не вызываете запрос более одного раза за раз

  • Добавление переменной Bool isQueryExecuting качестве условия для выполнения запроса и установки его true при запуске запроса, до false когда запрос выполняется.
  • Выполнение запросов в последовательной очереди, чтобы гарантировать, что запрос выполняется только после завершения всех предыдущих (FIFO). Рассмотрите последствия для производительности здесь.