---
title: documentIdentifier
framework: foundation
role: symbol
role_heading: Instance Property
path: foundation/urlresourcevalues/documentidentifier
---

# documentIdentifier

A value that the kernel assigns to identify a document.

## Declaration

```swift
var documentIdentifier: Int? { get }
```

## Discussion

Discussion The kernel uses a document identifier, which can be either a file or a directory, to identify the document regardless of where it moves on a volume. The document identifier survives safe-save operation, and is sticky to the path the kernel assigns. replaceItem(at:withItemAt:backupItemName:options:resultingItemURL:) is the preferred safe-save API. The document identifier is persistent across system restarts, and doesn’t transfer when you copy the file. Document identifiers are only unique within a single volume. Not all volumes support this property.

## See Also

### File values

- [fileContentIdentifier](foundation/urlresourcevalues/filecontentidentifier.md)
- [fileAllocatedSize](foundation/urlresourcevalues/fileallocatedsize.md)
- [fileProtection](foundation/urlresourcevalues/fileprotection.md)
- [fileResourceIdentifier](foundation/urlresourcevalues/fileresourceidentifier.md)
- [fileResourceType](foundation/urlresourcevalues/fileresourcetype.md)
- [fileSecurity](foundation/urlresourcevalues/filesecurity.md)
- [fileSize](foundation/urlresourcevalues/filesize.md)
- [isPurgeable](foundation/urlresourcevalues/ispurgeable.md)
- [isSparse](foundation/urlresourcevalues/issparse.md)
- [mayHaveExtendedAttributes](foundation/urlresourcevalues/mayhaveextendedattributes.md)
- [isExecutable](foundation/urlresourcevalues/isexecutable.md)
- [isRegularFile](foundation/urlresourcevalues/isregularfile.md)
- [mayShareFileContent](foundation/urlresourcevalues/maysharefilecontent.md)
- [totalFileAllocatedSize](foundation/urlresourcevalues/totalfileallocatedsize.md)
- [totalFileSize](foundation/urlresourcevalues/totalfilesize.md)
