iwtraining

Controle de acesso no Swift iOS

Controle de acesso no Swift

Para entender modificadores de acesso, primeiramente devemos entender alguns conceitos básicos do Swift e do Xcode, como módulo (module), target e arquivo-fonte (source file).

Um módulo é a menor unidade de distribuição de um código. Pode ser um framework ou uma aplicação simples criada que poderá ser importada por outro módulo utilizando a palavra-chave import. Cada target definido no Xcode é tratado como um módulo distinto. Arquivo-fonte (source file) é um arquivo de código swift que reside em um módulo.

O controle de acesso no Swift é exatamnte baseado nestes conceitos de modules e source files.

Há três palavras-chave para definir a visibilidade dos atributos ao declara-los em nossa interface.

Diretriz

Seu atributo será

private

Acessível somente dentro da classe em que foi criada, dentro do seu arquivo-fonte. Usa-se private para esconder detalhes ou partes específicas de funcionalidade em uma implementação.

internal

Acessível dentro da classe em que foi criada e também em arquivos-fonte dentro de outros arquivos-fonte, desde que no próprio módulo. Usa-se, em geral, internal ao definir uma estrutura interna de um app ou framework.

public

Acessível de qualquer lugar, seja dentro de qualquer arquivo-fonte onde for definida em seu módulo (framework) e também em um arquivo-fonte de outro módulo. Usa-se geralmente o acesso public para especificar interfaces públicas em um frameworks.

O acesso padrão de todas as entidades do seu código é internal. 

Na maioria dos casos você não precisará se preocupar muito com os modificadores de acesso. Tendo em vista que ao codificar um app de target único, tudo acontecerá em um único módulo, internal, que é o nível de acesso padrão já atende suas expectativas, não sendo necessário especificar outro.

Exemplos de como é a sintaxe:

public class ClassePublica {

}

internal class ClasseInterna {

}

private class ClassePrivada {

}

private func funcaoPrivada() {

}

public var variavelPublica = 5

internal let ConstanteInterna = 5

Está com duvidas?

Aluno iwtraining tem acesso a um fórum exclusivo para discutir com os instrutores e outros alunos. Acesse agora mesmo!

Share this article

Em seus 12 anos de experiência, tanto em design como em desenvolvimento, trabalhou em diversos projetos, muitos de grande porte, para clientes como Banco do Nordeste, Sebrae, Anna Pegova, Grupo Deib Otoch, dentre outros. Como designer, trabalha com o Adobe Photoshop desde a versão 3.0, além do Illustrator, sendo certificado pela Adobe (ACE e ACI) nestes softwares. Como desenvolvedor, foca seus esforços atualmente no ActionScript 3.0 (Plataforma Flash) e Objective-C (iOS). Ministra, desde 2005, treinamentos na @iwtraining para estudantes e profissionais, além de grandes empresas como Cagece, TRE, TRT, Esmaltec, Grupo Edson Queiroz, Sebrae, Senac, Correios.

Posts Relacionados

Deixe um comentário