В чем разница между классом cocoa touch и обычным классом swift?

Я изучаю язык Swift некоторое время, я застрял с одним из основных вопросов, т. е. в чем основное различие между шаблонами файлов класса Cocoa Touch и обычным классом Swift? Может ли кто-нибудь дать какое-либо основное различие вместе с примером? Я знаю, что они разные, потому что у каждого из них есть возможность создать файл.

1 ответов


TL; DR: это не разные типы классов. Это просто разные шаблоны файлов.


согласно Вашим комментариям:

Я знаю, что они разные, потому что они разные варианты создания файла, но они одинаковы.

Они не различные варианты, хотя.

enter image description here

мы можем создать "класс Cocoa Touch" или " Swift-файл "(или 7 различные варианты.) "Свифт класс" - это не вариант.

Так... имея это в виду, что is разница между этими двумя вариантами?

Если мы выбираем Swift File, следующий экран диалога просит нас дать нашему файлу имя и выбрать место сохранения. Когда мы нажимаем "Создать" отсюда, мы просто получаем пустой (ish) Swift-файл с именем, которое мы выбрали.

все, что упало в файл, является шаблонным авторским правом информация и import Foundation строку:

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

import Foundation

Это весь создать.


Если мы выбираем Какао-Сенсорный Класс, однако, мы получаем полностью другое диалоговое окно.

нас просят дать нашему классу имя, выбрать его базовый класс и выбрать язык. Кроме того, если наш базовый класс является своего рода контроллером вида, нам будет предоставлена возможность создать сопутствующий XIB-файл (и выбрать, что устройство, для которого мы делаем приложение iOS).

enter image description here

когда мы нажимаем next, мы не учитывая выбор имени файла, который будет иметь наш новый файл, но мы все равно можем выбрать наше место сохранения. Однако, как только мы фактически создаем файл, у нас есть совершенно другой набор кода котельной плиты. Какой точный шаблонный код мы получаем, полностью зависит от того, что такое наш базовый класс, но независимо от этого скелет для нашего класса всегда на месте:

//
//  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.
    }
    */

}