我已经学习了一段时间的
Swift语言,我坚持一个基本问题,即Cocoa Touch Class和普通Swift类的文件模板之间的基本区别是什么?有人能提供任何基本的差异吗?我知道它们是不同的,因为它们每个都有创建文件的选项.
解决方法
TL; DR:他们不是不同类型的课程.它们只是不同的文件模板.
根据你的意见:
I know they are different coz they are different options for creating a file,yet they are the same.
但它们并不是不同的选择.
我们可以创建一个“Cocoa Touch Class”或“Swift File”(或7种不同的选项). “Swift Class”不是一种选择.
那么……考虑到这一点,这两个选项之间有什么区别?
如果我们选择Swift File,下一个对话框屏幕会要求我们为文件命名并选择保存位置.当我们从这里单击“创建”时,我们只需获取一个空的(ish)Swift文件,其中包含我们选择的名称.
// // File.swift // Swift_iOS // // Created by Nick Griffith on 4/18/15. // Copyright (c) 2015 nhg. All rights reserved. // import Foundation
这是创建的整个文件.
但是,如果我们选择Cocoa Touch Class,我们会得到一个完全不同的对话框.
我们被要求给我们的类命名,选择它的基类,并选择一种语言.此外,如果我们的基类是某种视图控制器,我们将可以选择创建伴随XIB文件(如果我们正在使用iOS应用程序,则选择它的设备).
当我们点击下一步时,我们没有选择我们的新文件将具有哪个文件名,但我们仍然可以选择我们的保存位置.然而,一旦我们实际创建了文件,我们就会有一套完全不同的样板代码.我们得到的准确样板代码完全取决于我们的基类是什么,但无论如何,我们类的骨架始终存在:
// // 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. } */ }