Home
Please see: Xcode 8 for Xcode 8 update instructions.
This guide is intended to provide the high level scope and reasoning behind this frameworks classes. Operations is a framework of layers, where the lowest level defines base types such as Operation
and OperationQueue
. On top of this core foundation, less abstract but very flexible types, such as BlockOperation
, are defined. Finally at the highest level, specialised final classes such as CloudKitOperation
are available.
This guide is organised in the same way, explaining each layer as we go, from bottom to top. Lets get started.
- Migrating from: Foundation.Operation (NSOperation)
- Migrating from: WWDC 2015 "Advanced NSOperations"
- Migrating from: PSOperations
- Migrating from: "Operations" (ProcedureKit) 3.x
Feel free to ask questions on Issues in the project. You will likely get a response from Dan or a contributor within a day. If you can share code samples, verbose logs, it often helps. Similarly, searching closed issues might help answer your question too 😀. There is also a Slack team where more free flowed discussion of Operations happens. To join, send @danthorpe a direct message (they're open to everyone!) including your email address, and you'll receive an invite 😁
Lastly, we're going to collect, in no particular order, examples of common tasks and what we consider best practices for solving them here.
- Operation
- Block Operation
- Composed Operation
- Gated Operation
- Delay Operation
- Group Operation
- URLSessionTask Operation
- Reachable Operation
- Repeated Operation
- Retry Operation
- CloudKit Operation
- Alert Operation
- UI Operation
- Location Operations
- Webpage Operations
- OpenInSafari Operations
- Condition
- Block Condition
- Composed Condition
- Not Condition
- Silent Condition
- Mutually Exclusive
- No Failed Dependencies Condition
- Remote Notification Condition
- User Confirmation Condition
- User Notification Condition