The client application can call the hasPendingOperations method after a submitpending call to the server to wait for replay results. This method returns true if there are replay pending requests, otherwise, it returns false.
while ([SampleApp_SampleAppDB hasPendingOperations]) [NSThread sleepForTimeInterval:0.2];
The preceding code example waits indefinitely if the client application does not receive a replay result from the Unwired Server, and if a record has the replayPending flag set. To exit this loop after a particular time interval has passed, you can add a timer.
BOOL shouldWait = YES;
long sleepTime = 1;
long timeout = 10*60;
while (shouldWait && (sleepTime < timeout))
{
shouldWait = [SampleApp_SampleAppDB hasPendingOperations];
if (shouldWait)
{
[NSThread sleepForTimeInterval:0.2];
}
if (sleepTime <= timeout)
{
timeout = timeout - sleepTime;
}
}
if (shouldWait) {
MBOLogError(@"Cannot wait , Timeout");
}