DingiOfflinePack
@interface DingiOfflinePack : NSObject
An DingiOfflinePack represents a collection of resources necessary for viewing
a region offline to a local database.
To create an instance of DingiOfflinePack, use the
+[DingiOfflineStorage addPackForRegion:withContext:completionHandler:] method.
A pack created using -[DingiOfflinePack init] is immediately invalid.
-
The region for which the pack manages resources.
Declaration
Objective-C
@property (readonly, nonatomic) id<DingiOfflineRegion> _Nonnull region;Swift
var region: DingiOfflineRegion { get } -
Arbitrary data stored alongside the downloaded resources.
The context typically holds application-specific information for identifying the pack, such as a user-selected name.
Declaration
Objective-C
@property (readonly, nonatomic) NSData *_Nonnull context;Swift
var context: Data { get } -
The pack’s current state.
The state of an inactive or completed pack is computed lazily and is set to
DingiOfflinePackStateUnknownby default. To request the pack’s status, use the-requestProgressmethod. To get notified when the state becomes known and when it changes, observe KVO change notifications on this pack’sstatekey path. Alternatively, you can add an observer forDingiOfflinePackProgressChangedNotifications about this pack that come from the default notification center.Declaration
Objective-C
@property (readonly, nonatomic) DingiOfflinePackState state;Swift
var state: DingiOfflinePackState { get } -
The pack’s current progress.
The progress of an inactive or completed pack is computed lazily, and all its fields are set to 0 by default. To request the pack’s progress, use the
-requestProgressmethod. To get notified when the progress becomes known and when it changes, observe KVO change notifications on this pack’sstatekey path. Alternatively, you can add an observer forDingiOfflinePackProgressChangedNotifications about this pack that come from the default notification center.Declaration
Objective-C
@property (readonly, nonatomic) DingiOfflinePackProgress progress;Swift
var progress: DingiOfflinePackProgress { get } -
Resumes downloading if the pack is inactive.
When a pack resumes after being suspended, it may begin by iterating over the already downloaded resources. As a result, the
progressstructure’scountOfResourcesCompletedfield may revert to 0 before rapidly returning to the level of progress at the time the pack was suspended.To temporarily suspend downloading, call the
-suspendmethod.Declaration
Objective-C
- (void)resume;Swift
func resume() -
Temporarily stops downloading if the pack is active.
A pack suspends asynchronously, so some network requests may be sent after this method is called. Regardless, the
progressproperty will not be updated until-resumeis called.If the pack previously reached a higher level of progress before being suspended, it may wait to suspend until it returns to that level.
To resume downloading, call the
-resumemethod.Declaration
Objective-C
- (void)suspend;Swift
func suspend() -
Request an asynchronous update to the pack’s
stateandprogressproperties.The state and progress of an inactive or completed pack are computed lazily. If you need the state or progress of a pack whose
stateproperty is currently set toDingiOfflinePackStateUnknown, observe KVO change notifications on this pack’sstatekey path, then call this method. Alternatively, you can add an observer forDingiOfflinePackProgressChangedNotificationabout this pack that come from the default notification center.Declaration
Objective-C
- (void)requestProgress;Swift
func requestProgress()
DingiOfflinePack Class Reference