Class

NSPasteboardItem

NSPasteboardItem is a generic class to represent an item on a pasteboard.

Overview

There are three main uses for an NSPasteboardItem object:

  1. Providing data on the pasteboard.

    You can create one or more pasteboard items, set data or data providers for types, and write to them pasteboard.

  2. Customizing data already on the pasteboard.

    As a delegate or subclass, you can retrieve the pasteboard items currently on the pasteboard, read the existing types and data and set new data and data providers for types as needed.

  3. Retrieving data from the pasteboard.

    You can retrieve pasteboard items from the pasteboard then read the data for types you’re interested in.

A pasteboard item can be associated with a single pasteboard. When you create an item, it can be written to any pasteboard. When you pass an item to a pasteboard in writeObjects(_:), that item becomes bound to the pasteboard it was written to. When you retrieve items from a pasteboard using pasteboardItems or readObjects(forClasses:options:), the returned items are associated with the messaged pasteboard. Passing an item that is already associated with a pasteboard into writeObjects: causes an exception to be raised.

Pasteboard items are intended to be used during a single pasteboard interaction, not held onto and used repeatedly. A pasteboard item is only valid until the owner of the pasteboard changes.

Symbols

Getting Types

var types: [String]

An array of UTI strings of the data types supported by the receiver.

func availableType(from: [String])

Returns from a given array of types the the first type contained in the pasteboard item, according to the ordering of types.

Setting the Data Provider

func setDataProvider(NSPasteboardItemDataProvider, forTypes: [Any])

Sets the data provider for the specified types.

Setting Values

func setData(Data?, forType: String)

Sets the value for a specified type as an NSData object.

func setString(String?, forType: String)

Sets the value for a specified type as a string.

func setPropertyList(Any?, forType: String)

Sets the value for a specified type as a property list.

Getting Values

func data(forType: String)

Returns the value for the specified type as an NSData object.

func string(forType: String)

Returns the value for the specified type as a string.

func propertyList(forType: String)

Returns the value for the specified type as a property list.