Qual usar? Cocoa Touch Class ou Swift File?

Placa na estrada indicando para direita e esquerda.
Photo by Kyle Glenn on Unsplash

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.



---------

Leia mais

espanhol ingles