What is Operations?

What is this all about, and what have you done with NSOperation?

Operations is a framework which provides advanced features to NSOperation and NSOperationQueue.

Operation is a subclass of NSOperation and is used to perform work on an instance of OperationQueue which is a subclass of NSOperationQueue. Operation itself however is an abstract class and should always be subclassed to perform specialized work.

What do we mean by work? This can be anything, for example number crunching, data processing, parsing or retrieval, view controller presentation, or just about anything.

What does the Operations framework provide?

The framework provides the basic Operation and OperationQueue types, the former of which will often be subclassed in applications. It also has other helper types, which are "building blocks" which when used together with Operation subclasses allow for advanced usage. On top of this there are a number of "feature" operations. These are Operation subclasses which can be used directly and perform commonly needed functionality, like UserLocationOperation.