1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- //
- // RACCompoundDisposable.h
- // ReactiveObjC
- //
- // Created by Josh Abernathy on 11/30/12.
- // Copyright (c) 2012 GitHub, Inc. All rights reserved.
- //
- #import "RACDisposable.h"
- NS_ASSUME_NONNULL_BEGIN
- /// A disposable of disposables. When it is disposed, it disposes of all its
- /// contained disposables.
- ///
- /// If -addDisposable: is called after the compound disposable has been disposed
- /// of, the given disposable is immediately disposed. This allows a compound
- /// disposable to act as a stand-in for a disposable that will be delivered
- /// asynchronously.
- @interface RACCompoundDisposable : RACDisposable
- /// Creates and returns a new compound disposable.
- + (instancetype)compoundDisposable;
- /// Creates and returns a new compound disposable containing the given
- /// disposables.
- + (instancetype)compoundDisposableWithDisposables:(nullable NSArray *)disposables;
- /// Adds the given disposable. If the receiving disposable has already been
- /// disposed of, the given disposable is disposed immediately.
- ///
- /// This method is thread-safe.
- ///
- /// disposable - The disposable to add. This may be nil, in which case nothing
- /// happens.
- - (void)addDisposable:(nullable RACDisposable *)disposable;
- /// Removes the specified disposable from the compound disposable (regardless of
- /// its disposed status), or does nothing if it's not in the compound disposable.
- ///
- /// This is mainly useful for limiting the memory usage of the compound
- /// disposable for long-running operations.
- ///
- /// This method is thread-safe.
- ///
- /// disposable - The disposable to remove. This argument may be nil (to make the
- /// use of weak references easier).
- - (void)removeDisposable:(nullable RACDisposable *)disposable;
- @end
- NS_ASSUME_NONNULL_END
|