Type Alias

NSItemProvider.LoadHandler

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

Declaration

typealias LoadHandler = (NSItemProvider.CompletionHandler?, AnyClass?, [AnyHashable : Any]?) -> Void

Discussion

Use this block when registering a type-specific coercion handler with the registerItem(forTypeIdentifier:loadHandler:) 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 NSItemProvider.CompletionHandler.

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

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 loadItem(forTypeIdentifier: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.