Delay Operation
The DelayOperation
inserts a delay into the queue. It does not perform any work itself. It can be created using either a time interval, e.g. delay for 2 seconds, or with a NSDate
instance which must be in the future.
let delayInterval = DelayOperation(interval: 1)
let delayDate = DelayOperation(date: dateInTheFuture)
queue.addOperations(delayInterval, delayDate)
Note that the above code is pretty meaningless. DelayOperation
will only pause a serial queue, and delaying by one second, and then until a date in the future is likely redundant.
Instead, DelayOperation
is useful for delaying the executing of other operations by adding it as a dependency.
let delay = DelayOperation(interval: 2)
let operation = BlockOperation { print("Hello World!") }
operation.addDependency(delay)
queue.addOperations(delay, operation)
This can be very useful if implementing an exponential back-off system, or other repeating task.
Updated less than a minute ago