ArcGIS Runtime SDK for iOS: AGSObservableOperation Class Reference
ArcGIS Runtime SDK for iOS  100.9
AGSObservableOperation Class Reference

Description

Base class for operations. This adds the ability to register a listener to the AGSOperationBase. It also adds the concept of an error and a result.

Since
100
Inheritance diagram for AGSObservableOperation:
AGSOperationBase <AGSOperation> AGSRequestOperation AGSJSONRequestOperation

Instance Methods

(void) - cancel
 
(void) - execute
 
(BOOL) - isRegisteredListener:
 
(void) - registerListener:forCompletion:
 
(void) - unregisterListener:
 

Properties

BOOL canceled
 
NSError * error
 
void(^ internalCompletion )(void)
 
id result
 
BOOL startAsynchronously
 
AGSOperationState state
 

Method Documentation

§ cancel()

- (void) cancel

Cancels the operation.

Since
100

§ execute()

- (void) execute

Starts the operation

Since
100

§ isRegisteredListener:()

- (BOOL) isRegisteredListener: (id)  listener

Returns whether or not the specified object is a registered as a listener to this operation.

Since
100

§ registerListener:forCompletion:()

- (void) registerListener: (id)  listener
forCompletion: (void(^)(id __nullable result, NSError *__nullable error))  completion 

Adds a completion handler to the operation for the specified listener. If you are using this option, you can unregister a completionHandler for a listener if you need to. When there are no more listeners the operation will be canceled automatically.

Parameters
listenerThe listener to add the completion block for.
completionThe completion handler to be called.
Since
100

§ unregisterListener:()

- (void) unregisterListener: (id)  listener

Removes the registered completion handler to the operation for the specified listener. When there are no more listeners the operation will be canceled automatically. To avoid any potential retain cycles the listener is not retained by the operation. Unregistering is just the way to tell the operation that you no longer care about getting the completion event.

Parameters
listenerThe listener to unregister
Since
100

Property Documentation

§ canceled

- (BOOL) canceled
readnonatomicassigninherited

Whether or not cancel has been called on the operation. "Canceled" is a modifier on the current state since:

  1. The operation can be still "executing" until the cancel takes effect.
  2. An operation can be canceled and in a completed state at the same time.
    Since
    100

§ error

- (NSError*) error
readnonatomicstrong

The error, if any, that occurred.

Since
100

§ internalCompletion

- (void(^ internalCompletion) (void))
readwritenonatomiccopyinherited

The block the operation will call to signify to the operation queue that the operation is complete. This block is reserved for use by the AGSOperationQueue. Do not assign your own block to this.

Since
100

§ result

- (id) result
readnonatomicstrong

The results of an operation. It will be of type NSDictionary when the result is json, AGSImage when the result is an image, and NSData when anything else.

Since
100

§ startAsynchronously

- (BOOL) startAsynchronously
readnonatomicassigninherited

If an operation does all or most of it's work in the execute method it should return YES for this. If YES then the operation queue will dispatch this async to a global concurrent queue with the QOS that matches the qualityOfService specified on the AGSOperationQueue. If NO then the you are responsible for returning quickly from execute and doing the operation's work on a different queue. Either way the completion block must be called when the operation is finished or done being canceled.

Since
100

§ state

- (AGSOperationState) state
readnonatomicassigninherited

The current state of the operation.

Since
100