API du paginateur : iOS
La classe Paginator fournit des méthodes d’itération dans un jeu d’enregistrements renvoyé par un appel à l’API ServiceNow Table via NowTableService. Il s’agit de l’objet renvoyé par les méthodes paginator() NowTableService. N’appelez pas cette méthode en dehors de cet environnement.
| Nom | Type | Description |
|---|---|---|
| hasNext | Booléen | Marqueur indiquant s’il existe une page suivante à extraire. Valeurs valides :
|
| hasPrevious | Booléen | Marqueur indiquant s’il existe une page précédente à extraire. Valeurs valides :
|
| isBusy | Booléen | Marqueur indiquant si l’objet Paginateur est occupé à extraire des données. Valeurs valides :
|
| isFinished | Booléen | Marqueur indiquant si l’objet Paginateur 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 pas extraire de pages une fois qu’il est terminé. Pour plus d’informations, consultez la description du publisherShouldFinish paramètre. Valeurs valides :
|
| itemsPerPage | Entier | Nombre d’éléments à extraire par page. Par défaut : 20 |
| nombre de pages | Entier | Nombre total de pages dans l’ensemble d’enregistrements. Lorsque l’objet Paginator n’a pas encore récupéré de pages, ce paramètre est défini sur |
| 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 vrai. |
| éditeurShouldFinish | Booléen | Marqueur indiquant s’il faut arrêter l’éditeur de l’objet Paginator lorsque la dernière page a été extraite. Un objet Paginator ne peut pas extraire de pages une fois qu’il est terminé. Valeurs valides :
Valeur par défaut : false |
Paginateur : premières levées ()
Récupère la première page des résultats de retour.
Si cette méthode ne peut pas extraire la première page, elle lève une PaginationError.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Aucun |
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 : levées de last()
Récupère la dernière page des résultats de retour.
Si cette méthode ne peut pas extraire la dernière page, elle lève une PaginationError.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Aucun |
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 : next() lève
Récupère la page suivante des résultats de retour.
S’il n’y a plus de pages à extraire, la méthode lève une PaginationError.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Aucun |
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 : levées previous()
Récupère la page précédente des résultats de retour.
Si la méthode ne peut pas récupérer la page précédente, elle lève une PaginationError.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Aucun |
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()
Réinitialise le paginateur à la première page, mais ne renvoie pas la première page des résultats renvoyés.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Aucun |
L’exemple de code suivant montre comment appeler cette méthode.
…
func reset() {
result = nil
paginator.reset()
}
…