10 Objective-c recursos que não estão em rápida

Video: Популярные Video – Swift и Objective-C

Se você é um desenvolvedor experiente Objective-C, esta lista você lembra de alguns recursos que você pode ser usado para que não estão disponíveis na Swift. Em cada caso, soluções e estratégias para substituir seus amigos tentaram-e-verdadeiro Objective-C velhas são fornecidos. E não se preocupe: Na maioria dos casos, você vai acabar escrevendo menos código, e seu código será mais robusto.

Video: Популярные Video – Cocoa и Objective-C

Dizer adeus a arquivos de cabeçalho (.h)

Em Swift, o cabeçalho (.h) arquivos sumiram. o .h e .m arquivos para cabeçalhos e corpos (originalmente chamado de mensagens) de uma classe são consolidados em um único .rápido Arquivo.

Dizendo adeus a ponteiros oscilantes (quase sempre)

É difícil (mas não impossível) para fazer referência a um ponteiro pendurado na Swift. Ao longo dos últimos anos, Objective-C também fez tais referências mais difícil, mas eles permanecem distintamente possível. Você pode evitar problemas com essas referências se você se certificar de que os ponteiros para as instâncias são sempre definidas antes de serem usados, e que está pronto para nada antes de a instância é desatribuído. Swift usa muito poucos ponteiros, então eles não podem oscilar.

Video: Objective-C vs Swift Comparison

Esquecendo variáveis ​​não inicializadas e propriedades

Swift requer inicialização de propriedades declaradas, variáveis ​​e constantes. Isso remove imediatamente todo um conjunto de problemas que podem ocorrer quando você faz referência variáveis ​​não inicializadas e tanto pode falhar ou causar erros inesperados (e muitas vezes irrepetíveis).

Video: Популярные Video – Xcode и Objective-C

Explorando uma superclasse comuns como NSObject

A maioria dos objectos em Objective-C são subclasses NSObject- quase todos eles estão em conformidade com o NSObject protocolo. Assim, tais como coleções NSArray e NSDictionary pode conter objetos de qualquer tipo, desde que eles são subclasses de NSObject. Em Swift, os elementos de uma matriz ou dicionário não têm uma superclasse comum, mas eles têm de ter um tipo comum, de modo que eles podem ser manipulados. Esta é agora sua responsabilidade.

Tipo de gestão de elenco

Objective-C administra tipo de fundição, onde ele pode, mas se a sua suposição sobre o elenco correta difere de Objective-C de, seu código pode falhar. Com Swift, você tem que fazer o casting explicitamente. No entanto, Swift pode inferir um tipo de valores iniciais de variáveis ​​ou constantes, assim, no cômputo geral, o código é mais robusto e você pode realmente precisam de menos dele, porque você pode deixar tipos Inferir Swift para você.

Preferindo tampas para blocos

Blocos em Objective-C são como fechamentos em outros idiomas. Na Swift, que função é fornecida pelo fechamento ea documentação reflete este uso.

Livrar-se de gerenciamento de memória legado

Embora o gerenciamento de memória manual com alloc e dealloc foi descontinuado em Swift, muito código que ainda existe ou usa-lo ou refere-se a ele em comentários e linhas comentadas-out de código. Se você estiver convertendo código antigo, em vez de escrever código novo Swift a partir do zero, vale a pena para remover esses vestígios de gerenciamento de memória manual. É muito improvável que eles vão voltar.

Substituindo decoradores de propriedade

Em vez de Objective-C decoradores de propriedade de, Swift tem anotações em declarações. A mistura de atributos, tais como a somente leitura, Forte, fraco, e similares, se foi com Swift. A informação necessária é englobado em tipos.

Usando o estilo Swift para acessar propriedades de classe

estilo Swift usa sintaxe de ponto para referenciar objetos dentro de uma classe, estrutura ou enumeração. Remova qualquer sintaxe baseada em suporte de sobra.

Esclarecer controle de acesso Swift



As directivas de privacidade em Objective-C são tratados de forma diferente em Swift. Em Objective-C que você utilize as seguintes diretrizes:

  • @privado

  • @protegido

  • @público

As declarações de métodos e propriedades também podem ser colocados tanto na .h arquivo ou em uma extensão de classe de um .m Arquivo. Este oferece duas maneiras disjuntos de especificando visibilidade.

Swift não tem .h ou .m arquivos e, portanto, há extensões de classe com hiddendeclarations. Tem um modelo de controle de acesso único usando

  • público

  • privado

  • interno

Estes são parte da própria linguagem, em vez de serem diretivas de compilador.


Publicações relacionadas