0 Compartilhamentos 612 Views

Como aproveitar suas classes do Objective-C no Swift e vice-versa

A Apple prometeu continuar dando suporte ao Objective-C no iOS 8. Mas todos nós sabemos que a grande maioria dos desenvolvedores vai preferir trocar para o Swift, a nova linguagem da Apple. Ela é mais rápida, consome menos recursos, é mais fácil de desenvolver e tem um longo futuro pela frente na plataforma.

Mas, se você usou Objective-C por anos, pode ser um pouco difícil migrar de linguagem. Principalmente se você já tem um projeto no meio do caminho.

Felizmente, é possível aproveitar suas classes criadas no Objective-C no Swift. E vice-versa. Vamos aprender como.

A própria Apple  tem uma boa documentação sobre o tema . Então, se você tem uma classe existente que gostaria de usar, execute o passo 2 e então pule direto para o passo 5. Em alguns casos, você precisará adicionar explicitamente um arquivo antigo do Objective-C:

1: Adicione uma Implementação do Objective-C (.m)

Adicione um arquivo .m à sua classe, e nomeie como CustomObject.m

2: Adicione um Bridging Header

Ao adicionar seu arquivo .m, você provavelmente verá uma tela similar à imagem abaixo. Clique em Yes:

objective-c-bridging

Se você não passar por esta tela ou acidentalmente deletar seu bridging header, adicone um novo arquivo .h ao seu projeto e nomeio-o como <#SeuNomedeProjeto>-Bridging-Header.h

3: Adicione um Objective-C Header (.h)

Adicione outro arquivo .h e nomeio-o como CustomObject.h

4: Monte sua Classe Objective-C

Em CustomObject.h:

Em CustomObject.m:

5: Adicione a Classe ao Bridging-Header

Em SeuNomedeProjeto-Bridging-Header.h:

6: Use Seu Objeto

Em SeuArquivoSwift.swift:

Não há a necessidade de importar explicitamente, é para isso que server o bridging header.

Usando Classes do Swift no Objective-C

E o caminho inverso? Mais fácil ainda, basta seguir os seguintes passos:

1: Crie uma Nova Classe no Swift

Adicione um arquivo .swift ao seu projeto e nomeio-o como MeuObjetoSwift.swift

Em MeuObjetoSwift.swift:

2: Importe Arquivos Swift para uma Classe de Objective-C

Em MinhaClasse.m:

O arquivo <#NomedoProjeto#>-Swift.h já deve ter sido criado automaticamente em seu projeto, mesmo que você não esteja visualizando ele.

3: Use Sua Classe

Observação: Neste estágio inicial de suporte à linguagem, é possível que o CodeCompletion não se comporte adequadamente. Rode uma montagem rápida com CMD + r para ajudar o Swift a encontrar o código Objective-C e vice-versa.

Carregando...

Você pode se interessar

Conhecendo Svelte
Artigos
167 visualizações
Artigos
167 visualizações

Conhecendo Svelte

Carlos L. A. da Silva - 6 de janeiro de 2022

Svelte, React ou Vue? O especialista Josh Collinsworth disserta sobre a solução em seus mínimos detalhes.

Petrobras abre concurso com 757 vagas de nível superior
Artigos
223 visualizações
Artigos
223 visualizações

Petrobras abre concurso com 757 vagas de nível superior

Redação - 30 de dezembro de 2021

Há vagas para cientistas de dados, engenheiros e analistas de sistemas entre outras carreiras. As inscrições permanecerão abertas até o dia 05 de janeiro de 2022.

A história da imagem mais antiga da internet
Artigos
257 visualizações
Artigos
257 visualizações

A história da imagem mais antiga da internet

Carlos L. A. da Silva - 28 de dezembro de 2021

Lena Sjooblom saiu da página central da Playboy para se tornar um ícone dos engenheiros de imagens.

Deixe um Comentário

Your email address will not be published.

Mais publicações

Coreia do Sul no mapa dos jogos
Artigos
268 visualizações
268 visualizações

Coreia do Sul no mapa dos jogos

Carlos L. A. da Silva - 22 de dezembro de 2021
Rust é o futuro da infraestrutura JavaScript
Artigos
553 visualizações
553 visualizações

Rust é o futuro da infraestrutura JavaScript

Carlos L. A. da Silva - 6 de dezembro de 2021
Influenciadores digitais que não existem
Artigos
540 visualizações
540 visualizações

Influenciadores digitais que não existem

Carlos L. A. da Silva - 2 de dezembro de 2021