This shows how to use NSOperations to simplify app architecture. It includes several different kinds of ready-to-use NSOperation subclasses to guarantee that your code will only execute if certain conditions have been met. By composing and chaining these operations together, you can quickly construct complex behaviors with extremely little code.
iOS 9 SDK
iOS 9