Paginator-API: IOS

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Die Paginator Die Klasse stellt Methoden für die Iteration durch einen Datensatzsatz bereit, der von einem Aufruf an zurückgegeben wird ServiceNow Tabelle API über den NowTableService. Dies ist das Objekt, das vom NowTableService zurückgegeben wird paginator() Methoden. Rufen Sie diese Methode nicht außerhalb dieser Umgebung auf.

    Tabelle : 1. Eigenschaften
    Name Typ Beschreibung
    hasNext Boolean Kennzeichnung, die angibt, ob eine nächste Seite abgerufen werden soll.
    Gültige Werte:
    • Wahr: Nächste Seite ist verfügbar.
    • Falsch: Nächste Seite ist nicht verfügbar.
    HasPrevious Boolean Kennzeichnung, die angibt, ob eine vorherige Seite abgerufen werden soll.
    Gültige Werte:
    • Wahr: Vorherige Seite ist verfügbar.
    • Falsch: Vorherige Seite ist nicht verfügbar.
    Ist Busy Boolean Kennzeichnung, die angibt, ob das Paginator-Objekt mit dem Abrufen von Daten beschäftigt ist.
    Gültige Werte:
    • Wahr: Herausgeber ist beschäftigt.
    • Falsch: Herausgeber ist nicht beschäftigt.
    Ist abgeschlossen Boolean Kennzeichnung, die angibt, ob das Paginator-Objekt abgeschlossen ist. Wenn der Paginator so konfiguriert ist, dass er abgeschlossen ist, endet der Herausgeber des Paginator-Objekts, wenn die letzte Seite abgerufen wurde. Ein Paginator-Objekt kann nach Abschluss keine Seiten abrufen. Weitere Informationen finden Sie in der Beschreibung von publisherShouldFinishParameter.
    Gültige Werte:
    • Wahr: Herausgeber ist abgeschlossen.
    • Falsch: Herausgeber ist nicht abgeschlossen.
    ItemsPerPage Ganzzahl Anzahl der pro Seite abzurufenden Elemente.

    Standard: 20

    NummernSeiten Ganzzahl Gesamtzahl der Seiten im Datensatzsatz.

    Wenn das Paginator-Objekt noch keine Seiten abgerufen hat, wird dieser Parameter auf festgelegt Int. max . Nachdem eine erste Anforderung an gestellt wurde ServiceNow Instanz wird die Anzahl der Seiten auf die tatsächliche Anzahl der Seiten aktualisiert, die von empfangen wurden ServiceNow Instanz.

    Seite Ganzzahl Aktuelle Seite im paginierten Datensatzsatz.
    publisher Zeichenfolge Herausgeber, der den Stream der paginierten Daten an die Abonnenten bereitstellt.
    Hinweis:
    Standardmäßig ist der Herausgeber nicht fertig. Um dieses Verhalten zu ändern, legen Sie fest publisherShouldFinishEigenschaft bis Wahr .
    PublizerShouldFinish Boolean Kennzeichnung, die angibt, ob der Herausgeber des Paginator-Objekts angehalten werden soll, wenn die letzte Seite abgerufen wurde. Ein Paginator-Objekt kann nach Abschluss keine Seiten abrufen.
    Gültige Werte:
    • Wahr: Sobald die letzte Seite abgerufen wurde, kann der Herausgeber zusätzliche Daten bereitstellen. Die Zurücksetzen () Methode funktioniert nicht mehr.
    • Falsch: Der Herausgeber ist nie fertig, und alle Methoden sind unabhängig von der Navigation vollständig funktionsfähig.

    Standardwert: false

    Paginator – First() wirft aus

    Ruft die erste Seite der Rückgabeergebnisse ab.

    Wenn diese Methode die erste Seite nicht abrufen kann, wird ein ausgelöst PaginationError .

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

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

    Paginator: Last() wirft aus

    Ruft die letzte Seite der Rückgabeergebnisse ab.

    Wenn diese Methode die letzte Seite nicht abrufen kann, wird ein ausgelöst PaginationError .

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

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

    Paginator – next() wirft

    Ruft die nächste Seite der Rückgabeergebnisse ab.

    Wenn keine weiteren Seiten zum Abrufen vorhanden sind, löst die Methode einen aus PaginationError .

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

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

    Paginator: Vorherige() wirft aus

    Ruft die vorherige Seite der Rückgabeergebnisse ab.

    Wenn die Methode die vorherige Seite nicht abrufen kann, wird ein ausgelöst PaginationError .

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

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

    Paginator – Reset()

    Setzt den Paginator auf die erste Seite zurück, gibt jedoch nicht die erste Seite der Rückgabeergebnisse zurück.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 11. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

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