iOS Swift

Tutorial: Como Usar Namespace Em Swift iOS

Tiago Aguiar Desenvolvedor ios

Escrito por Tiago Aguiar

em 04/07/2018

Existe algumas definições sobre o que é o conceito de namespace quando falamos em computação, mas a que acredito ser a definição mais clara é:

swift-namespace-tutorial-como-usar

O Que é Namespace?

Namespaces são usados para organizar o código em grupos lógicos e para evitar conflitos de nomes que podem ocorrer especialmente quando sua base de código inclui várias bibliotecas.

Isso quer dizer que caso seu projeto tenha duas bibliotecas como Maps e Views e essas duas bibliotecas possuem uma classe com o mesmo nome - por exemplo Resizer - para o sistema identifique qual classe você se refere, usamos o conceito de namespace.

Assim como entender a diferença entre classes vs structs esse conceito de namespace vai te ajudar a dominar ainda mais a linguagem de programação Swift.

Em outras linguagens de programação como o C++ por exemplo podemos declarar namespaces dessa forma:

namespace ContosoData  
{      
    class ObjectManager   
    {  
        public:  
            void DoSomething() {}  
        };  
        void Func(ObjectManager) {}  
    }  
}


ContosoData::ObjectManager mgr;  
mgr.DoSomething();  
ContosoData::Func(mgr);

Entretanto, na linguagem Swift não temos esse conceito - que na minha opinião pode ser muito útil em alguns casos. Mas, é possível criar algo semelhante a namespace mesmo usando a linguagem Swift. Logo, neste tutorial você aprenderá porquê e como aplicar este método em Swift.

Como e Por que Usar Namespace Para Criar Aplicativos iOS?

Imagine o seguinte cenário. Sua tarefa é criar uma biblioteca padrão de todos os aplicativos desenvolvidos pela sua empresa para que ela mantenha sempre uma identidade visual, dessa forma, a empresa cria um branding para ser lembrado pelos seus clientes.

Como desenvolvedor, você não irá definir cores e padrões em cada aplicativo iOS sendo que você poderia fazer isso uma única vez. Ou seja, você deve definir cores, padrões de botões, campos de textos, rótulos (labels) e etc.

Para organizar o seu projeto de uma forma simples e com uma boa qualidade de código você pode desfrutrar dos recursos de namespace usando Enums na linguagem de programação Swift.

Primeiro, você precisar entender que não existe de fato um namespace em Swift, mas ele pode ser utilizado como um Hack de programação usando Enums.

Dá uma olhada nesse exemplo:

extension UIColor {

    enum mykit {
        static let primary = UIColor.green
    }

}

Nesse bloco de código, criamos uma cor primária primary no padrão singleton dentro de um Enum.

Desta forma, sempre que precisar de uma cor primária do meu projeto, basta usar esse bloco de código da seguinte forma: x = UIColor.mykit.primary.

Se por alguma razão ou outra a empresa decidir trocar suas cores que a identificam basta alterar os valores do nosso enum mykit para o enum do cliente por exemplo.

Neste exemplo, não aconteceu de usar uma mesma classe que tenha dentro do SDK da Apple ou de outra biblioteca externa, mas é possível para evitar ambiguidade no projeto.

Na época do Objective-C, esse eventual "problema" era resolvido usando prefixos em nomes de classes. É por isso que em muitos arquivos legados iOS você encontra MKMapView, UIView ou NSObject para evitar ter 2 MapView no projeto.

Claro que em alguns casos, esses prefixos se referem a bibliotecas e .frameworks que são importados pelo seu projeto.

Em resumo, você consegue usar classes e variáveis que precise de um mesmo nome (em container diferentes) e também organizar o seu projeto no formato de hierarquia com Enums para distinguir a qual "módulo" aquela variável pertence como: UIColor.mykit.primary e UIColor.retro.primary.

Opcional: Siga Esse Tutorial Passo a Passo em Video

Vai lá, adicione isso no seu aplicativo ou no app da sua empresa e mostre o que você aprendeu..

Mas antes, eu gostaria fortemente que você ajudasse esse blog a crescer para que outros desenvolvedores iOS possam aprender também. É bem simples.

  • Deixe o seu comentário logo abaixo dizendo o que você está achando dessas dicas. Deixe suas dúvidas e sugestões por lá. Esse é o espaço para comunicação ;)
  • Compartilhe nas redes sociais com seus amigos

Me siga nas redes sociais:


Artigos Relacionados

Delegate e DataSource: Dando Vida a UITableView

Delegate E Datasource: Dando Vida A Uitableview

UITableView ​é a View mais usada em aplicativos iOS, competindo apenas com o seu "primo" ​UICollectionV...

ANDROID CLASSE R O QUE É? | Android Studio Tutorial

Android Classe R O Que É? | Android Studio Tutorial

A classe R no Android é a principal classe de recu

Recriando o Feed de Filmes do Aplicativo Netflix iOS

Recriando O Feed De Filmes Do Aplicativo Netflix Ios

Nos últimos tempos em venho criando uma série de vídeos no canal do Youtube onde irei recriar o feed de filmes de...

Como Criar Um Aplicativo iOS do Zero: Primeiros passos no Playground

Como Criar Um Aplicativo Ios Do Zero: Primeiros Passos No Playground

Conheça os primeiros passos para criar um aplicativo para iPhone e iOS do absoluto zero, mesmo que você nunca ten...