DEV Community

Cover image for Qual usar? Cocoa Touch Class ou Swift File?
Lucas Lacerda
Lucas Lacerda

Posted on • Edited on

Qual usar? Cocoa Touch Class ou Swift File?

Quantas vezes você estava acompanhando um tutorial, e na hora de criar um novo arquivo no projeto, você se deparou com o Dev fazendo a seguinte escolha:

"Agora vamos criar um Cocoa Touch Class..."

E você ficava com aquela pulga atrás da orelha, por que não criar um Swift File? por que a escolha do Cocoa Touch Class?

Se quando criado um Cocoa Touch Class, é possível notar que a extensão é a mesma de um Swift File, ".swift" 🤔

Hoje vamos acabar com todas essas duvidas.

Pra entendermos o que é Cocoa Touch Class, é interessante compreender o contexto da sua criação.

Basicamente, o Cocoa Touch é a estrutura para desenvolvimento de aplicativos iOS para iPhone, iPad, AppleWatch e AppleTv, que contempla os frameworks Foundation e UIKit.

O termo “Cocoa” tem sido usado para se referir genericamente a qualquer classe ou objeto que é baseado no tempo de execução Objective-C e herda da classe raiz, NSObject.



Então, em que o Cocoa Touch Class nos ajuda?

Quando estamos criando um novo arquivo Cocoa Touch Class, podemos perceber que o Xcode nos exibe uma tela que não é exibida quando criamos um Swift File:

Image description
Temos um ComboBox onde nos possibilita indicar qual vai ser a subclass do nosso novo arquivo, ou seja, de qual super classe nosso arquivo vai herdar. (No exemplo acima escolhemos "UITableViewController" )
Image description
Com isso, temos como resultado um novo arquivo ja preenchido com algumas funções herdadas da super classe que selecionamos anteriormente, facilitando a implementação :)

O Xcode nos traz métodos necessários para implementar um arquivo herdando de "UITableViewController", como mostrado na imagem.


Qual a diferença de fato, entre os dois arquivos?

Um arquivo Cocoa Touch Class ja vem "pronto", ou melhor, pre-preenchido de acordo com a subclasse que indicamos que queremos herdar.

Quando criamos um arquivo Swift, o mesmo não vem "pronto" ou já pre-preenchido, é criado apenas um arquivo ".swift" em branco.


Header Image: Photo by Kyle Glenn on Unsplash

Top comments (0)