---
title: "SKIndexDocumentIteratorCopyNext(_:)"
framework: Core Services
role: symbol
role_heading: Function
platforms: [macOS 10.3+]
path: coreservices/1442212-skindexdocumentiteratorcopynext
---

# SKIndexDocumentIteratorCopyNext(_:)

Obtains the next document URL object (of type SKDocument) from an index using a document iterator.

## Declaration

```swift
func SKIndexDocumentIteratorCopyNext(_ inIterator: SKIndexDocumentIterator!) -> Unmanaged<SKDocument>!
```

## Parameters

- `inIterator`: The index-based document iterator. See doc://com.apple.documentation/documentation/coreservices/1446189-skindexdocumentiteratorcreate for information on creating an document iterator, and doc://com.apple.documentation/documentation/coreservices/skindexdocumentiterator for more about iterators.

## Return Value

Return Value The next document URL object in the index.

## Discussion

Discussion This function returns NULL when there are no more document URL objects (of type SKDocument) in the index. When finished iterating, your application must call CFRelease on all retrieved document URL objects that are non-NULL. Search Kit is thread-safe. You can use separate indexing and searching threads. Your application is responsible for ensuring that no more than one process is open at a time for writing to an index.

## See Also

### Managing Indexes

- [SKIndexAddDocumentWithText(_:_:_:_:)](coreservices/1444518-skindexadddocumentwithtext.md)
- [SKIndexAddDocument(_:_:_:_:)](coreservices/1444897-skindexadddocument.md)
- [SKIndexFlush(_:)](coreservices/1450667-skindexflush.md)
- [SKIndexCompact(_:)](coreservices/1443628-skindexcompact.md)
- [SKIndexGetDocumentCount(_:)](coreservices/1449093-skindexgetdocumentcount.md)
- [SKIndexGetMaximumDocumentID(_:)](coreservices/1444628-skindexgetmaximumdocumentid.md)
- [SKIndexGetMaximumTermID(_:)](coreservices/1444278-skindexgetmaximumtermid.md)
- [SKIndexDocumentIteratorCreate(_:_:)](coreservices/1446189-skindexdocumentiteratorcreate.md)
- [SKIndexDocumentIteratorGetTypeID()](coreservices/1443022-skindexdocumentiteratorgettypeid.md)
- [SKIndexGetAnalysisProperties(_:)](coreservices/1443461-skindexgetanalysisproperties.md)
- [SKIndexMoveDocument(_:_:_:)](coreservices/1449899-skindexmovedocument.md)
- [SKIndexRemoveDocument(_:_:)](coreservices/1444375-skindexremovedocument.md)
- [SKIndexRenameDocument(_:_:_:)](coreservices/1448935-skindexrenamedocument.md)
- [SKIndexSetMaximumBytesBeforeFlush(_:_:)](coreservices/1448696-skindexsetmaximumbytesbeforeflus.md)
- [SKIndexGetMaximumBytesBeforeFlush(_:)](coreservices/1445329-skindexgetmaximumbytesbeforeflus.md)
