2015-04-18 14 views
6

Ho imparato il linguaggio Swift per un po ', sono bloccato con quello della domanda di base, cioè qual è la differenza fondamentale tra i modelli di file di una classe Cocoa Touch e una normale classe Swift? Qualcuno può fornire qualche differenza di base con l'esempio? So che sono diversi perché ognuno ha un'opzione per la creazione di un file.Qual è la differenza tra la classe tattile del cacao e la normale classe Swift?

+0

Questa domanda è troppo ampia per ottenere una buona risposta su Stack Overflow. Puoi limitare la tua domanda a un problema specifico che stai risolvendo? Si consiglia di rivedere [Swift In Flux] (https://github.com/ksm/SwiftInFlux) per un lungo elenco che contiene alcune differenze. –

+0

La tua domanda è paragonabile alla domanda "Qual è la differenza tra 2 arance?". Senza specificare le classi/arance nessuno può dirti la differenza. La migliore risposta sarebbe cercarli nella documentazione e vedere cosa scrive Apple. – d00dle

+0

@ d00dle thats right. So che sono diversi perchè sono diverse opzioni per creare un file, eppure sono uguali. Volevo solo sapere la differenza tra loro a livello di funzionalità e implementazione –

risposta

20

TL; DR:Non sono diversi tipi di classi. Sono solo modelli di file diversi.


Secondo i vostri commenti:

so che sono diversi coz sono diverse opzioni per la creazione di un file, ma sono lo stesso.

Loro non sono diverse opzioni però.

enter image description here

possiamo creare un "Cocoa Touch Classe" o un "File Swift" (o 7 diverse opzioni). "Swift Classe" non è un'opzione.

Quindi ... con questo in mente, cosa è la differenza tra queste due opzioni?

Se scegliamo Swift File, la schermata di dialogo successiva ci chiede di dare un nome al nostro file e di scegliere una posizione di salvataggio. Quando clicchiamo su "Crea" da qui, otteniamo semplicemente un file Swift vuoto (ish) con il nome che abbiamo scelto.

Tutto ciò che è caduto nel file è le informazioni sul copyright boilerplate e una linea import Foundation:

// 
// File.swift 
// Swift_iOS 
// 
// Created by Nick Griffith on 4/18/15. 
// Copyright (c) 2015 nhg. All rights reserved. 
// 

import Foundation 

Questo è il file intera creato.


Se scegliamo Cocoa Touch Classe, tuttavia, otteniamo un dialogo diverso interamente.

Ci viene chiesto di dare un nome alla nostra classe, scegliere quale sia la sua classe base e scegliere una lingua. Inoltre, se la nostra classe base è una sorta di controller di visualizzazione, verrà data la possibilità di creare un file XIB complementare (e scegliere il dispositivo per cui si sta facendo un'app per iOS).

enter image description here

Quando clicchiamo prossimo, siamo non data una scelta su ciò che il nome del file il nostro nuovo file avrà, ma abbiamo ancora arrivare a scegliere la nostra posizione di salvataggio. Una volta creato il file, tuttavia, abbiamo un set di codice della piastra caldaia completamente diverso.Che esatto codice standard otteniamo tutto dipende da ciò che la nostra classe di base è, ma a prescindere, lo scheletro per la nostra classe è sempre al suo posto:

// 
// MyViewController.swift 
// Swift_iOS 
// 
// Created by Nick Griffith on 4/18/15. 
// Copyright (c) 2015 nhg. All rights reserved. 
// 

import UIKit 

class MyViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


    /* 
    // MARK: - Navigation 

    // In a storyboard-based application, you will often want to do a little preparation before navigation 
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     // Get the new view controller using segue.destinationViewController. 
     // Pass the selected object to the new view controller. 
    } 
    */ 

} 
Problemi correlati