Escolhendo como implementar a funcionalidade em Swift
Quando você está pensando sobre a criação de um aplicativo, como você decidir como implementar sua funcionalidade? Swift, juntamente com os quadros de cacau e Cocoa Touch, fornece uma ampla variedade de ferramentas para ajudá-lo. Aqui está uma lista de algumas das perguntas a perguntar-se quando decidir qual (is) a ser usado:
Isto é algo que as pessoas precisam ser capazes de fazer tanto no iOS e OS X? Se a resposta for sim, considerar a construção de um espaço de trabalho Xcode com um alvo iOS e um alvo X OS juntamente com o código compartilhado.
Isto é algo que as pessoas precisam ser capazes de fazer em vários dispositivos? Considere a implementação de iCloud para que os dados podem ser compartilhados entre os dispositivos.
Será que várias pessoas trabalhar neste projeto? Use o mecanismo de controle de origem Git built-in no Xcode.
As respostas às questões anteriores deve ajudá-lo a entender o que você está construindo e como você pretende gerenciar o código-fonte. Com essas decisões, considere estas perguntas específicas do Swift:
É esta funcionalidade algo que é ocorre repetidamente em diferentes contextos com os dados diferentes ou que envolve manipulação de dados e cálculos? Se assim for, é possível que este deve ser um função ou um classe.
Classes contêm frequentemente funções e dados (embora possam conter um ou o outro). Eles tendem a ser mais complexa do que funções, mas note que no Swift, muito funções leves tendem a ser usados com mais frequência do que em outras linguagens orientadas a objeto.
Exemplos de funções são cálculos como um custo com base no preço base, marcação e quantidade de itens, enchendo os elementos da interface do usuário com dados de um armazenamento de dados, gestão da transição para ou a partir do fundo.
Será esta uma questão de organização como de dados? Se assim for, um tipo de recolha, tal como um ordem ou dicionário pode ser a resposta. Swift pode aplicar as regras para que você saiba cada elemento é de um tipo similar.
É esta operação sempre o mesmo ou existem diferentes processos de acordo com as circunstâncias (dados, as condições externas, e assim por diante)? Se assim for, você pode considerar os operadores de controle de fluxo, tais como lacetes e condições. (Você pode usá-los dentro de funções.)
Você precisa fornecer funcionalidade apenas para certos tipos de dados? Neste caso, considerar a adição de funções para uma estrutura, método ou classe.