Sono uno sviluppatore iOS e non ho idea del motivo per cui il tuo ragazzo pensa di aver bisogno di creare "un metodo di analisi". UUID(uuidString: valueFromServer)
è tutto ciò che deve fare. Può creare il tuo UUID magico semplicemente:
extension UUID {
static var zero: UUID { return UUID(uuidString: "00000000-0000-0000-0000-000000000000")! }
}
Quindi può confrontare qualsiasi GUID con questo GUID magico.
Detto questo, per tutti i valori che provengono dal server, lo sviluppatore frontend deve prima controllare se il valore è presente, quindi controllare se è ben formato (del tipo giusto). Se stai restituendo una magia valore, quindi deve anche controllare per vedere se il valore tipizzato correttamente è magico. Includendo il valore magico, lo stai costringendo a fare un ulteriore controllo.
Come sviluppatore di frontend, devo chiedere: per quale motivo mi stai costringendo ad aumentare la complessità della mia app?
Se puoi fare una discussione sul fatto che il frontend debba trattare un GUID mancante diverso rispetto al GUID magico, allora hai un argomento per restituirlo. Altrimenti si aggiunge complessità non necessaria all'app frontend.
(aggiunta in risposta al commento di @ RubberDuck.)
Ecco la cosa. Lo standard JSON ha un modo di trattare valori null e lo standard GUID ha un modo diverso di trattare valori nulli. Dato che stai inviando un GUID tramite JSON , quest'ultimo è il problema dominante (poiché il GUID è in fase di wrapping in JSON) è lo standard che dovresti conformare a .. Perché anche se si decide di inviare un GUID null inviando effettivamente un GUID pieno di zeri, il frontend ancora deve controllare il JSON null.
Non forzare il front end a gestire due concetti diversi di null.