Dans une base de données, nous avons l'habitude de travailler avec un nombre entier auto-incrémenté qui sert d'identifiant.
Mais hors de la base de données, la notion d'auto-incrément et plus difficile à réaliser.
C'est pourquoi il est plus intéressant de travailler avec un autre type d'indentifiant, par exemple un UUID ou un ULID.
Si votre application Swift a besoin d'identifier des instances de façon unique, il est intéressant de travailler avec un identifiant unique universel (Universally unique identifier, mieux connu sous son acronyme UUID.
Un UUID est facile à générer dans le langage Swift à l'aide de la structure UUID.
import Foundation // ou import SwiftUI
struct Item: Identifiable {
var id: UUID = UUID() // valeur du genre 21DDA6A8-C90A-4F06-8F81-3E31208F74AA
var code: String
var titre: String
}
Un ULID (Universally Unique Lexicographically sortable IDentifier) est une autre façon de générer un identifiant unique.
Leur avantage par rapport aux UUID : une partie du ULID est basée sur le temps donc on peut ordonner les ULID.
Par contre, avec Swift, il faudra utiliser une bibliothèque tierce pour pouvoir les utiliser, par exemple https://github.com/yaslab/ULID.swift/blob/master/Sources/ULID/ULID.swift (ajouter le paquet au projet ou simplement copier les fichiers ULID.swift et Data+Base32.swift dans le projet).
Son utilisation est très semblable à celle de UUID.
ulid = ULID()
La valeur générée consiste en 26 caractères alphanumériques. Les 10 premiers représentent le temps et les 16 suivants sont générés au hasard.
Ex : 01JORG0BTY377EV0YM7BGEPKX1
« UUID vs ULID, How ULID improves write speeds ». Maingi Samuel. https://medium.com/@sammaingi5/uuid-vs-ulid-how-ulid-improves-write-speeds-d16b23505458
▼Publicité