Paginator-API: IOS
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.
| 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 Busy | Boolean | Kennzeichnung, die angibt, ob das Paginator-Objekt mit dem Abrufen von Daten beschäftigt ist. Gültige Werte:
|
| 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:
|
| 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 |
| 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:
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 .
| 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() wirft aus
Ruft die letzte Seite der Rückgabeergebnisse ab.
Wenn diese Methode die letzte Seite nicht abrufen kann, wird ein ausgelöst PaginationError .
| 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() 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 .
| 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: 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 .
| 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()
}
…