---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# API du paginateur : iOS

# API du paginateur : iOS {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes de lecture

La classe Paginator fournit des méthodes d'itération à travers un ensemble d'enregistrements renvoyé par un appel à l'API ServiceNow de table via NowTableService. C'est l'objet qui est renvoyé par les méthodes paginator() NowTableService. N'appelez pas cette méthode en dehors de cet environnement.
{#PaginatorIOSAPI__table_vx2_klw_5pb__entry__3}

| Nom | Type | Description |
|-|-|-|
| hasNext | Booléen | Marqueur indiquant s'il existe une page suivante à extraire. Valeurs valides : * true : la page suivante est disponible. * false : la page suivante n'est pas disponible. |
| hasPrevious | Booléen | Marqueur indiquant s'il existe une page précédente à extraire. Valeurs valides : * vrai : La page précédente est disponible. * faux : la page précédente n'est pas disponible. |
| isBusy | Booléen | Marqueur indiquant si l'objet Paginateur est occupé à extraire des données. Valeurs valides : * true : l'éditeur est occupé. * faux : l'éditeur n'est pas occupé. |
| isFinished (en anglais seulement) | Booléen | Marqueur indiquant si l'objet Paginator est terminé. Lorsque le paginateur est configuré pour se terminer, l'éditeur de l'objet Paginator se termine lorsque la dernière page a été extraite. Un objet Paginator ne peut extraire aucune page une fois qu'il est terminé. Pour plus d'informations, consultez la publisherShouldFinish description du paramètre. Valeurs valides : * true : l'éditeur a terminé. * false : l'éditeur n'a pas terminé. |
| itemsPerPage | Entier | Nombre d'éléments à extraire par page. Par défaut : 20 |
| Nombre de pages | Entier | Nombre total de pages dans le jeu d'enregistrements. Lorsque l'objet Paginator n'a encore extrait aucune page, ce paramètre est défini sur `Int.max`. Une fois qu'une demande initiale a été envoyée à l'instance ServiceNow , le nombre de pages est mis à jour en fonction du nombre réel de pages reçues de l'instance ServiceNow . |
| Page | Entier | Page actuelle dans l'ensemble d'enregistrements paginés. |
| éditeur | Chaîne | Éditeur qui fournit le flux de données paginées aux abonnés. Remarque : Par défaut, l'éditeur ne termine pas. Pour modifier ce comportement, définissez la publisherShouldFinish propriété sur `true`. |
| éditeurDevraitFinir | Booléen | Marqueur qui indique s'il faut arrêter l'éditeur de l'objet Paginator lorsque la dernière page a été extraite. Un objet Paginator ne peut extraire aucune page une fois qu'il est terminé. Valeurs valides : * true : une fois la dernière page extraite, l'éditeur n'est pas autorisé à fournir des données supplémentaires. La méthode reset() n'est plus fonctionnelle. * false : l'éditeur n'est jamais terminé et toutes les méthodes sont pleinement opérationnelles, quelle que soit la navigation. Valeur par défaut : false |
[Tableau 1. Propriétés]

{#PaginatorIOSAPI__table_vx2_klw_5pb}

## Paginateur - first() lancers {#ariaid-title2}

Récupère la première page des résultats renvoyés.
Si cette méthode ne peut pas récupérer la première page, elle lève une `PaginationError`.
{#Paginator-first__table_fpc_bgv_kqb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 2. Paramètres]

{#Paginator-first__table_fpc_bgv_kqb} {#Paginator-first__table_gpc_bgv_kqb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 3. Renvoie]

{#Paginator-first__table_gpc_bgv_kqb}  
L'exemple de code suivant montre comment appeler cette méthode.

    class PaginatorTestViewModel<T: JSONRepresentable>: ObservableObject {
      @Published var result: Result<String, Error>?
      private let paginator: Paginator<T>
      private var subscriptions = Set<AnyCancellable>()

      init(paginator: Paginator<T>) {
        self.paginator = paginator
        subscribeToPaginator()
      }

      private func subscribeToPaginator() {
        paginator.publisher
          .receive(on: DispatchQueue.main)
          .sink { [weak self] comp in
            if case .failure(let error) = comp {
              self?.result = .failure(error)
            }
          } receiveValue: { [weak self] jsonRepresentable in
            self?.result = .success(jsonRepresentable.jsonDescription)
          }
          .store(in: &subscriptions)
      }

      func first() {
        result = nil
        do {
          try paginator.first()
        } catch {
          self.result = .failure(error)
        }
      }
    }

## Paginateur : derniers lancers () {#ariaid-title3}

Récupère la dernière page des résultats de renvoi.
Si cette méthode ne peut pas récupérer la dernière page, elle lève une `PaginationError`.
{#Paginator-last__table_ipy_hgv_kqb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 4. Paramètres]

{#Paginator-last__table_ipy_hgv_kqb} {#Paginator-last__table_jpy_hgv_kqb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 5. Renvoie]

{#Paginator-last__table_jpy_hgv_kqb}  
L'exemple de code suivant montre comment appeler cette méthode.

    ...
    func last() {
      result = nil
      do {
        try paginator.last()
      } catch {
        self.result = .failure(error)
      }
    }
    ...

## Paginateur : levers next() {#ariaid-title4}

Récupère la page suivante des résultats renvoyés.
S'il n'y a plus de pages à extraire, la méthode lève une `PaginationError`.
{#Paginator-next__table_kj5_5cv_kqb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 6. Paramètres]

{#Paginator-next__table_kj5_5cv_kqb} {#Paginator-next__table_lj5_5cv_kqb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 7. Renvoie]

{#Paginator-next__table_lj5_5cv_kqb}  
L'exemple de code suivant montre comment appeler cette méthode.

    ...
    func next() {
      result = nil
      do {
        try paginator.next()
      } catch {
        self.result = .failure(error)
      }
    }
    ...

## Paginateur : lancers previous() {#ariaid-title5}

Récupère la page précédente des résultats de renvoi.
Si la méthode ne peut pas récupérer la page précédente, elle lève une `PaginationError`.
{#Paginator-previous__table_lby_sfv_kqb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 8. Paramètres]

{#Paginator-previous__table_lby_sfv_kqb} {#Paginator-previous__table_mby_sfv_kqb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 9. Renvoie]

{#Paginator-previous__table_mby_sfv_kqb}  
L'exemple de code suivant montre comment appeler cette méthode.

    ...
    func previous() {
      result = nil
      do {
        try paginator.previous()
      } catch {
        self.result = .failure(error)
      }
    }
    ...

## Paginateur : reset() {#ariaid-title6}

Réinitialise le paginateur à la première page, mais ne renvoie pas la première page des résultats renvoyés.
{#Paginator-reset__table_u1y_mgv_kqb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 10. Paramètres]

{#Paginator-reset__table_u1y_mgv_kqb} {#Paginator-reset__table_v1y_mgv_kqb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 11. Renvoie]

{#Paginator-reset__table_v1y_mgv_kqb}  
L'exemple de code suivant montre comment appeler cette méthode.

    ...
    func reset() {
      result = nil
      paginator.reset()
    }
    ...


