https://developer.apple.com/documentation/swift/double?changes=latest_minor En la versión actualizada de la definición de clase, encontré el método init para Double con NSNumber cerca de escribir la palabra clave desconocida __shared . ¿Qué significa?
La anotación de parámetro __shared significa que un parámetro de tipo de valor se puede pasar por referencia.
Para los tipos de valor , esto nos permite eliminar una copia antes de realizar la llamada y, en su lugar, pasar una referencia que apunta directamente a la memoria que asignamos. SIL llama a esta convención in_guaranteed for (referencia indirecta con garantía de por vida). Actualmente es la forma en que nos hacemos pasar a sí mismos en funciones no mutantes.
Fue introducido por el Manifiesto de Propiedad .
Aquí está la diferencia entre las anotaciones de propiedad:
inout : valor similar a un puntero mutante__shared : valor similar a un puntero que no muta__owned : una forma explícita de escribir el valor predeterminadoAquí hay un resumen del manifiesto: Swift Ownership Manifesto TL;DR .