A protocol adopted by classes that can load data asynchronously.
A protocol adopted by classes whose objects can load data asynchronously, for example, from a remote network location or the local file system. You need to call loadWithCompletion: (AGSLoadable-p)
to initiate loading. The loadStatus
property reflects the status of the load operation.
- Since
- 100
- See also
AGSLoadObjects()
which provides convenience for batch loading a group of loadable objects
- (void) loadWithCompletion: |
|
(nullable void(^)(NSError *__nullable error)) |
completion |
|
|
required |
Loads data for the object asynchronously. The completion block is invoked upon completion.
You can call this method any number of times, however only one attempt is made to load the data. If it is already loading, it will just continue to load (i.e. not force a reload). If it has already loaded successfully, the completion block will be invoked right away. If it has already failed to load, the completion block will be invoked right away with error previously encountered. This method supports multiple callers and will call them all back on completion. However, each caller's completion block will be invoked once and only once.
- Parameters
-
completion | block that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load. |
- Note
- The completion block is always invoked on the main thread.
- Since
- 100
- See also
- cancelLoad
to cancel loading
-
- retryLoadWithCompletion:
to force reload
- (void) retryLoadWithCompletion: |
|
(nullable void(^)(NSError *__nullable error)) |
completion |
|
|
required |
Tries to reload when an object has failed to load. This method should be called judiciously. It should be called when:
- you didn't have network connectivity earlier when it failed and you want to retry now that you have connectivity
- the server was down earlier when it failed and you want to retry
- the request is taking too long and you want to cancel it and retry, in which case you will first call
cancelLoad
and then this method
If the data hasn't started loading, it will start loading. If it is already loading, it will just continue to load. If it has already loaded successfully, calls back right away. If it has already failed to load, tries again. This method supports multiple callers and will call them all back on completion. However, each caller's completion block will be invoked once and only once.
- Parameters
-
completion | block that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load. |
- Note
- The completion block is always invoked on the main thread.
- Since
- 100