Useful Swift NSOperation
(Operation
) and NSOperationQueue
(OperationQueue
) subclasses.
Scalable, thread-safe, and automatically fully progress-reporting for nested child operations.
- Foundational
BasicOperation
andBasicAsyncOperation
- Closure-based
ClosureOperation
andAsyncClosureOperation
InteractiveClosureOperation
andInteractiveAsyncClosureOperation
- Thread-safe atomic mutability
AtomicBlockOperation
- Add the package to your Xcode project using Swift Package Manager
- Select File → Swift Packages → Add Package Dependency
- Add package using
https://github.com/orchetect/OTOperations
as the URL.
- Import the module in your *.swift files where needed.
import OTOperations
-
In your Package.swift file:
dependencies: [ .package(url: "https://github.com/orchetect/OTOperations", from: "1.0.0") ],
-
@_implementationOnly
prevents the methods and properties inOTOperations
from being exported to the consumer of your SPM package.@_implementationOnly import OTOperations
Most methods are implemented as category methods so they are generally discoverable.
All methods have inline help explaining their purpose and basic usage examples.
Coded by a bunch of 🐹 hamsters in a trenchcoat that calls itself @orchetect.
Licensed under the MIT license. See LICENSE for details.
Bug fixes and improvements are welcome. Please open an issue to discuss prior to submitting PRs.