Declarando uma classe simples em Swift
Aqui, você explorar os funcionamentos internos de aulas Swift, estruturas e enumerações (pelo menos o funcionamento interno que são comuns a todos eles - consulte a tabela).
Característica | Classes | estruturas | enumerações |
---|---|---|---|
instâncias | x | x | x |
propriedades | x | x | Somente as propriedades computadas |
Métodos | x | x | x |
subscritos | x | x | x |
initializers | x | x | x |
extensões | x | x | x |
protocolos | x | x | x |
Herança | x | ||
fundição tipo | x | ||
Deinitializers | x | ||
ARCO | x |
Em Locatapp (na verdade, o modelo de aplicação Mestre-detalhe) você pode ver dois pontos de vista, ao mesmo tempo quando você executar o aplicativo em um iPhone 6 Plus ou qualquer um dos modelos de iPad. Quando na horizontal (em paisagem orientação), qualquer iPad ou um iPhone 6 Plus mostra duas vistas lado a lado como você vê na figura.
Em modelos de iPhone mais velhos, no entanto, você tem uma interface de navegação: Um ponto de vista aparece em um momento. Você navegar de vista para ver, mas apenas um ponto de vista é visível em todos os momentos.
No modelo, a maioria do código está no controlador de vista master (esta é a visão do lado esquerdo). É a visão que permite criar eventos e excluir eventos. O controlador de exibição mestre diz ao controlador de vista de detalhe (mostrado à direita) os dados específicos para mostrar - na verdade, é por isso que ele é chamado de controlador de visualização de detalhes.
O controlador de vista de detalhe é implementado com uma classe relativamente simples chamada DetailViewController. A simplicidade desta classe é por isso que é uma boa classe para examinar para ter uma idéia de como as classes funcionam.
A listagem mostra o código para DetailViewController. Como você pode ver, não há muito código envolvido, por isso é fácil de explorar toda a classe. Estas observações mostram a antes e depois de sintaxe para as linhas de código alterado para implementar o mapa.
A maioria das classes Swift olha como este (exceto que muitos deles são maiores):
//// DetailViewController.swift // Locatapp //// Criado por Jesse Feiler em 10/23/14 .// Copyright (c) 2014 Jesse Feiler. Todos os direitos reserved.//import UIKitimport MapKitclass DetailViewController: UIViewController {// @ IBOutlet fraca var detailDescriptionLabel:! UILabel @IBOutlet var mapView: MKMapView var detailItem: AnyObject? {DidSet {// Atualiza o view.self.configureView ()}} func configureView () {// Atualiza a interface do usuário para o detalhe item./*if deixe detalhe: AnyObject = self.detailItem {if rótulo let = self. detailDescriptionLabel {Label.Text =
detail.valueForKey ( "timeStamp") !. description}} * /} override func viewDidLoad () {super.viewDidLoad () // Do qualquer configuração adicional depois de carregar a vista, tipicamente de um nib.self.configureView ()} override func didReceiveMemoryWarning () {super.didReceiveMemoryWarning () // Descarte quaisquer recursos que podem ser recriados.}}