Paginator-API – iOS
Die Paginator -Klasse stellt Methoden zum Durchlaufen eines Datensatzes bereit, der von einem Aufruf der ServiceNow Table -API über NowTableService zurückgegeben wird. Es ist das Objekt, das von den NowTableService paginator()- Methoden zurückgegeben wird. Rufen Sie diese Methode nicht außerhalb dieser Umgebung auf.
| Name | Typ | Beschreibung |
|---|---|---|
| hasNext | Boolean | Kennzeichnung, die angibt, ob eine nächste Seite abgerufen werden soll. Gültige Werte:
|
| hasPrevious | Boolean | Kennzeichnung, die angibt, ob eine vorherige Seite abgerufen werden soll. Gültige Werte:
|
| ist Beschäftigt | Boolean | Kennzeichnung, die angibt, ob das Paginator-Objekt mit dem Abrufen von Daten ausgelastet ist. Gültige Werte:
|
| ist Beendet | Boolean | Kennzeichnung, die angibt, ob das Paginator-Objekt abgeschlossen ist. Wenn der Paginator so konfiguriert ist, dass er beendet wird, wird der Herausgeber des Paginator-Objekts beendet, wenn die letzte Seite abgerufen wurde. Ein Paginator-Objekt kann nach Abschluss keine Seiten abrufen. Weitere Informationen finden Sie in der Beschreibung des Parameters publisherShouldFinish. Gültige Werte:
|
| itemsProSeite | Ganzzahl | Anzahl der pro Seite abzurufenden Elemente. Standard: 20 |
| AnzahlSeiten | Ganzzahl | Gesamtzahl der Seiten innerhalb des Datensatzes. Wenn das Paginator-Objekt noch keine Seiten abgerufen hat, wird dieser Parameter auf |
| Seite | Ganzzahl | Aktuelle Seite innerhalb des paginierten Datensatzes. |
| publisher | Zeichenfolge | Herausgeber, der den Stream paginierter Daten an die Abonnenten bereitstellt. Hinweis: Standardmäßig wird der Herausgeber nicht abgeschlossen. Um dieses Verhalten zu ändern, legen Sie die Eigenschaft publisherShouldFinish auf truefest. |
| HerausgeberSollteEnde sein | 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:
Standardwert: false |
Paginator – first() wirft
Ruft die erste Seite der Rückgabeergebnisse ab.
Wenn diese Methode die erste Seite nicht abrufen kann, wird ein PaginationError ausgelöst.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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() löst aus
Ruft die letzte Seite der zurückgegebenen Ergebnisse ab.
Wenn diese Methode die letzte Seite nicht abrufen kann, wird ein PaginationError ausgelöst.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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() löst aus
Ruft die nächste Seite der Rückgabeergebnisse ab.
Wenn keine weiteren Seiten abzurufen sind, löst die Methode einen PaginationErroraus.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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 – previous() löst aus
Ruft die vorherige Seite der Rückgabeergebnisse ab.
Wenn die Methode die vorherige Seite nicht abrufen kann, wird ein PaginationError ausgelöst.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
…
func reset() {
result = nil
paginator.reset()
}
…