Instance Method

getPromisedItemResourceValue(_:forKey:)

Returns the value of the resource property for the specified key.

Declaration

func getPromisedItemResourceValue(_ value: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey key: URLResourceKey) throws

Parameters

value

The location where the value for the resource property identified by key should be stored.

key

The name of one of the URL’s resource properties.

error

The error that occurred in the case that the resource value cannot be retrieved.

Return Value

true if value is successfully populated; otherwise, false.

Discussion

This method behaves identically to getResourceValue(_:forKey:), 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:

You must use this method instead of getResourceValue:forKey: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.

See Also

Working with Promised Items

func checkPromisedItemIsReachableAndReturnError(NSErrorPointer)

Returns whether the promised item can be reached.

func promisedItemResourceValues(forKeys: [URLResourceKey])

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