Propiedad interna de lectura y escritura rápida de solo lectura externa

En Swift, ¿cuál es la forma convencional de definir el patrón común donde una propiedad debe ser externamente de solo lectura, pero modificable internamente por la clase (y subclases) que la posee.

En Objective-C, hay las siguientes opciones:

Declare la propiedad como de solo lectura en la interfaz y use una extensión de clase para acceder a la propiedad internamente. Este es un acceso basado en mensajes, por lo tanto, funciona muy bien con KVO, atomicidad, etc.Declare la propiedad como de solo lectura en la interfaz, pero acceda internamente al ivar de respaldo. Como el acceso predeterminado para un ivar está protegido, esto funciona muy bien en una jerarquía de clases, donde las subclases también podrán modificar el valor, pero el campo es de solo lectura.

En Java, la convención es:

Declare un campo protegido e implemente un getter (método) público de solo lectura.

¿Cuál es el idioma para Swift?

Respuestas a la pregunta(2)

Su respuesta a la pregunta