detectedValues(for:)
Determines whether this pasteboard item matches the specified patterns, reading the contents if it finds a match.
Declaration
func detectedValues(for keyPaths: Set<PartialKeyPath<NSPasteboardItem.DetectedValues>>) async throws -> NSPasteboardItem.DetectedValuesParameters
- keyPaths:
The patterns to detect on the pasteboard.
Return Value
An NSPasteboard.DetectedValues instance containing the values for the patterns detected on the pasteboard item.
Discussion
For details about the types returned for each pattern, see NSPasteboard.DetectedValues.
The following example shows how to use this method to find links in each item on the pasteboard:
guard let pasteboardItems = NSPasteboard.general.pasteboardItems else { return }
for (index, item) in pasteboardItems.enumerated() {
do {
let valueResults = try await item.detectedValues(for: [\.links])
let links = valueResults.links
guard !links.isEmpty else {
print ("Item \(index) - No links found in item.")
continue
}
for link in links {
print("Item \(index) - Link retrieved: \(link.url).")
}
} catch {
print("Item \(index) - Error: \(error).")
}
}