¿Cómo saben los generadores cuyo elemento es opcional cuando han llegado al final?
El velozGeneratorType referencia dice sobre elnext
método:
next()
Avance al siguiente elemento y devuélvalo, o nulo si no existe el siguiente elemento.
Y luego en la discusión, dice
Requiere:next()
no se ha aplicado a una copia deself
desde que se realizó la copia, y no hay llamadas anteriores aself.next()
ha regresadonil
. Se alienta a las implementaciones específicas de este protocolo a responder a las violaciones de este requisito llamandopreconditionFailure("...")
.
Si el generador es para un tipo opcional, entonces es posible que alcance unnil
valor antes de llegar al final de la secuencia. ¿Cómo sabe Swift que no ha llegado al final en este caso?