---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# ページネーター API - iOS

# ページネーター API - iOS {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：5分

Paginator クラスは、NowTableService を介したServiceNow テーブル API の呼び出しによって返されるレコード セットを反復処理するためのメソッドを提供します。これは、NowTableService paginator() メソッドによって返されるオブジェクトです。このメソッドをその環境の外部で呼び出さないでください。
{#PaginatorIOSAPI__table_vx2_klw_5pb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| hasNext | ブーリアン | フェッチする次のページがあるかどうかを示すフラグ。 有効な値： * true:次のページが使用可能です。 * false:次のページは使用できません。 |
| hasPrevious | ブーリアン | フェッチする前のページがあるかどうかを示すフラグ。 有効な値： * true:前のページが使用可能です。 * false:前のページは利用できません。 |
| はビジー | ブーリアン | Paginator オブジェクトがデータのフェッチでビジー状態かどうかを示すフラグ。 有効な値： * true:公開者がビジー状態です。 * false:パブリッシャはビジー状態ではありません。 |
| isFinished | ブーリアン | Paginator オブジェクトが完了したかどうかを示すフラグ。ページネーターが終了するように設定されている場合、最後のページがフェッチされたときに Paginator オブジェクトのパブリッシャーは終了します。Paginator オブジェクトは、終了後にページを取得できません。追加情報については、 publisherShouldFinish パラメーターの説明を参照してください。 有効な値： * true:パブリッシャーは終了しています。 * false:パブリッシャーが完了していません。 |
| itemsPerPage | 整数 | ページごとにフェッチするアイテムの数。 デフォルト値：20 |
| ページ数 | 整数 | レコード セット内の合計ページ数。 Paginatorオブジェクトがまだページを取得していない場合、このパラメータは `Int.max`に設定されます。ServiceNowインスタンスに対して最初の要求が行われた後、ページ数はServiceNowインスタンスから受信した実際のページ数に更新されます。 |
| ページ | 整数 | ページネーションされたレコードセット内の現在のページ。 |
| publisher | 文字列 | ページネーションされたデータのストリームをサブスクライバーに提供するパブリッシャー。 注: 既定では、パブリッシャは終了しません。この動作を変更するには、 publisherShouldFinish プロパティを `true` に設定します。 |
| publisherShouldFinish | ブーリアン | 最後のページがフェッチされたときに Paginator オブジェクトのパブリッシャーを停止するかどうかを示すフラグ。Paginator オブジェクトは、終了後にページを取得できません。 有効な値： * true:最後のページがフェッチされると、公開者は追加のデータを提供できなくなります。reset() メソッドは機能しなくなりました。 * false:パブリッシャが終了することはなく、すべてのメソッドはナビゲーションに関係なく完全に動作します。 デフォルト値：false |
[表 : 1. プロパティ]

{#PaginatorIOSAPI__table_vx2_klw_5pb}

## ページネーター - first() throws {#ariaid-title2}

返された結果の最初のページをフェッチします。
このメソッドが最初のページを取得できない場合、 `PaginationError` がスローされます。
{#Paginator-first__table_fpc_bgv_kqb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 2. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 3. 返される内容]

{#Paginator-first__table_gpc_bgv_kqb}  
次のコード例は、このメソッドを呼び出す方法を示しています。

    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)
        }
      }
    }

## ページネーター - last() throws {#ariaid-title3}

返された結果の最後のページをフェッチします。
このメソッドが最後のページを取得できない場合、 `PaginationError` がスローされます。
{#Paginator-last__table_ipy_hgv_kqb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 4. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 5. 返される内容]

{#Paginator-last__table_jpy_hgv_kqb}  
次のコード例は、このメソッドを呼び出す方法を示しています。

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

## ページネーター - next() throws {#ariaid-title4}

返された結果の次のページをフェッチします。
フェッチするページがなくなると、メソッドは `PaginationError` をスローします。
{#Paginator-next__table_kj5_5cv_kqb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 6. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 7. 返される内容]

{#Paginator-next__table_lj5_5cv_kqb}  
次のコード例は、このメソッドを呼び出す方法を示しています。

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

## ページネーター - previous() throws {#ariaid-title5}

返された結果の前のページをフェッチします。
メソッドが前のページを取得できない場合は、 `PaginationError` をスローします。
{#Paginator-previous__table_lby_sfv_kqb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 8. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 9. 返される内容]

{#Paginator-previous__table_mby_sfv_kqb}  
次のコード例は、このメソッドを呼び出す方法を示しています。

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

## ページネーター - reset() {#ariaid-title6}

ページネーターを最初のページにリセットしますが、戻り結果の最初のページは返しません。
{#Paginator-reset__table_u1y_mgv_kqb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 10. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 11. 返される内容]

{#Paginator-reset__table_v1y_mgv_kqb}  
次のコード例は、このメソッドを呼び出す方法を示しています。

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


