A block that loads the item provider’s data and coerces it to the specified type.
SDKs
- iOS 8.0+
- macOS 10.10+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
Framework
- Foundation
Declaration
typedef void (^NSItemProviderLoadHandler)(NSItem Provider Completion Handler completionHandler, Class expectedValueClass, NSDictionary *options);
Discussion
Use this block when registering a type-specific coercion handler with the register
method. The parameters for this block are as follows:
- completionHandler
The completion handler to call with the resulting data. For information about this block, see
NSItem
.Provider Completion Handler - expectedValueClass
The expected class of the item being loaded. Convert the item provider’s data to this type and pass the resulting object as the first parameter of the
completion
block.Handler - options
A dictionary with options for how to provide the requested item. For example, the dictionary may contain the pixel dimensions of a requested image. For information about the supported keys, see Options Dictionary Key.
When a client calls the load
method and requests the appropriate type, the item provider executes your block. In your implementation, create an object of the expected type and execute the block in the completion
parameter, passing the newly created object as the first parameter of that block. If there is an error, pass nil
for the object and provide an appropriate NSError
object explaining what happened.
This type of block is also used for generating preview images. In the case of a preview image, the expected
is always a NSData
, NSURL
, UIImage
(in iOS), or NSImage
(in macOS) class.