---
title: "promisedItemResourceValues(forKeys:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/nsurl/promiseditemresourcevalues(forkeys:)"
---

# promisedItemResourceValues(forKeys:)

Returns the resource values for the properties identified by specified array of keys.

## Declaration

```swift
func promisedItemResourceValues(forKeys keys: [URLResourceKey]) throws -> [URLResourceKey : Any]
```

## Parameters

- `keys`: An array of names of URL resource properties.

## Return Value

Return Value A dictionary of resource values indexed by key.

## Discussion

Discussion This method behaves identically to resourceValues(forKeys:), but works on promised items. A promised item is not guaranteed to have its contents in the file system until you use a file coordinator to perform a coordinated read on its URL, which causes the contents to be downloaded or otherwise generated. Promised item URLs are returned by various APIs, including: A metadata query using either the NSMetadataQueryUbiquitousDataScope or NSMetadataQueryUbiquitousDocumentsScope scopes The contents of the directory returned by the file manager’s URLForUbiquitousContainerIdentifier: The URL inside the accessor block of a coordinated read or write operation that used the immediatelyAvailableMetadataOnly, forDeleting, forMoving, or contentIndependentMetadataOnly options You must use this method instead of resourceValuesForKeys:error: for any URLs returned by these methods. This method works for any resource value that is not tied to the item’s contents. Some keys, like contentAccessDateKey or generationIdentifierKey, do not return valid values. If you use one of these keys, the method returns true, but the value returns nil. note: In Swift, this method returns a nonoptional result and is marked with the throws keyword to indicate that it throws an error in cases of failure. You call this method in a try expression and handle any errors in the catch clauses of a do statement, as described in Error Handling in The Swift Programming Language and About Imported Cocoa Error Parameters.

## See Also

### Related Documentation

- [resourceValues(forKeys:)](foundation/nsurl/resourcevalues(forkeys:).md)

### Working with Promised Items

- [checkPromisedItemIsReachableAndReturnError(_:)](foundation/nsurl/checkpromiseditemisreachableandreturnerror(_:).md)
- [getPromisedItemResourceValue(_:forKey:)](foundation/nsurl/getpromiseditemresourcevalue(_:forkey:).md)
