解析checkIfCommandIsRunning Pausing App

时间:2015-02-23 15:56:46

标签: ios objective-c parse-platform pfquery

由于一个我无法解决的原因,这才刚刚开始发生。启动我的iOS应用程序后,应用程序会使用以下方法暂停断点:

[PFQuery checkIfCommandIsRunning]

我相信这是一种私有的Parse方法。如果我关闭断点,这不是一个问题,但这里显然有点奇怪。我有一个断点来触发所有异常。在这种情况下,这就是暂停应用程序的原因。

修改

这是MY代码中断点停止的方法。这是在线程队列中checkIfCommandIsRunning之前的3方法列出的。

//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];

还有更多线索吗?

1 个答案:

答案 0 :(得分:0)

您是正确的PFQuery.checkIfCommandIsRunning是一种私密方法,可确保PFQuery上的PFObject未执行多次。

它抛出的错误是:

  

此查询具有出色的网络连接。你得等一等   直到它完成。

确保您不是通过

一次多次调用查询
  • 添加Bool变量isQueryExecuting作为执行查询的条件,并在您开始查询时将其设置为true,在查询完成后添加到false。< / LI>
  • 在串行队列中执行查询以确保仅在完成所有先前的查询(FIFO)之后执行查询。在这里考虑性能影响。