Em Swift, qual é a maneira convencional de definir o padrão comum onde uma propriedade deve ser somente leitura externamente, mas modificável internamente pela classe (e subclasses) que a possuem.
Em Objective-C, existem as seguintes opções:
- Declare a propriedade como somente leitura na interface e use uma extensão de classe para acessar a propriedade internamente. Este é o acesso baseado em mensagem, portanto, funciona bem com KVO, atomicidade, etc.
- Declare a propriedade como somente leitura na interface, mas acesse o ivar de apoio internamente. Como o acesso padrão para um ivar é protegido, isso funciona bem em uma hierarquia de classes, onde as subclasses também podem modificar o valor, mas o campo é somente leitura.
Em Java, a convenção é:
- Declare um campo protegido e implemente um getter (método) público somente leitura.
Qual é o idioma do Swift?
var
palavra-chave que faltava para fazer a compilação.)