Type Alias


A block that loads the item provider’s data and coerces it to the specified type.


typedef void (^NSItemProviderLoadHandler)(NSItemProviderCompletionHandler completionHandler, Class expectedValueClass, NSDictionary *options);


Use this block when registering a type-specific coercion handler with the registerItemForTypeIdentifier:loadHandler: method. The parameters for this block are as follows:


The completion handler to call with the resulting data. For information about this block, see NSItemProviderCompletionHandler.


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 completionHandler block.


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 loadItemForTypeIdentifier:options:completionHandler: 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 completionHandler 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 expectedValueClass is always a NSData, NSURL, UIImage (in iOS), or NSImage (in macOS) class.