我一直在學習Swift語言一段時間後,我遇到了一個基本問題,即可可觸摸類和普通Swift類的文件模板之間的基本區別是什麼?有人可以提供任何基本的差異和例子嗎?我知道他們是不同的,因爲他們每個人都有創建文件的選項。可可觸摸類和普通的swift類有什麼區別?
6
A
回答
20
TL; DR:它們不是不同類型的類。他們只是不同的文件模板。
根據您的意見:
我知道他們是怎麼把不同的是,他們創建的文件不同的選擇,但他們卻是相同的。
他們不是雖然不同的選項。
我們可以創建一個「可可觸摸類」或「雨燕文件」(或7級不同的選項)。 「Swift 類」不是一個選項。
所以...有了這個想法,是這兩個選擇的區別?
如果我們選擇Swift文件,下一個對話框要求我們給我們的文件一個名字並選擇一個保存位置。當我們從這裏單擊「創建」時,我們只需用我們選擇的名稱獲得一個空的(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應用程序,請選擇它的用途)。
當我們點擊下一步,我們不給出什麼文件名,我們的新文件將有一個選擇,但我們仍然得到來接我們的保存位置。然而,一旦我們真正創建了這個文件,我們就擁有了一組完全不同的代碼。什麼確切的樣板代碼,我們得到完全取決於我們的基類是什麼,但無論如何,我們的類的框架始終是到位:
//
// 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.
}
*/
}
相關問題
- 1. 不可變類和可變類之間有什麼區別?
- 2. MacVim和普通Vim有什麼區別?
- 3. 選項類型和可空類型有什麼區別?
- 4. JavaBean,POJO和普通類的區別?
- 5. Debug類和Trace類有什麼區別?
- 6. ConfigurationManager類和Settings類有什麼區別?
- 7. HostingEnvironment類和HttpRuntime類有什麼區別?
- 8. 子類和子類有什麼區別?
- 9. java.awt.Rectangle類和java.awt.geom.Rectangle2D.Double類有什麼區別?
- 10. 輸入/輸出流與普通讀寫器有什麼區別,它們的類型有什麼區別?
- 11. objective-c中無名類與普通類之間有什麼區別?
- 12. 可可觸摸則hitTest withEvent可以識別UIView子類
- 13. Swift展開使用可選屬性時有什麼區別?和?
- 14. 抽象類擴展和普通類之間的區別延伸
- 15. 靜態嵌套類和普通類之間的區別
- 16. Swift中的「:」和「=」有什麼區別?
- 17. Syncano類和SyncanoDashboard有什麼區別?
- 18. gRPC和Beta gRPC類有什麼區別?
- 19. 抽象類和Mixin有什麼區別?
- 20. Helper和Utility類有什麼區別?
- 21. 聚類和匹配有什麼區別?
- 22. CommaIO和Comma7IO類有什麼區別?
- 23. super()和Parent類名有什麼區別?
- 24. 崩潰和可見有什麼區別?
- 25. 快速可選類型中的`!`&`?`運算符有什麼區別?
- 26. UIButton的可觸摸區域
- 27. 類別和類方法有什麼區別?
- 28. 有界通配符和類型參數有什麼區別?
- 29. 靜態結構和普通結構有什麼區別?
- 30. 源文件夾和(普通)文件夾有什麼區別
這個問題太寬而不能得到堆棧溢出一個很好的答案。你能縮小你的問題到你正在解決的具體問題嗎?您可能需要查看[Swift In Flux](https://github.com/ksm/SwiftInFlux)中包含一些差異的長列表。 –
你的問題與「2根桔子有什麼區別?」這個問題是可比的。沒有指定類/桔子,沒有人可以告訴你區別。最好的答案是在文檔中查看它們並查看Apple寫入的內容。 – d00dle
@ d00這就是對的。我知道它們是不同的,因爲它們是創建文件的不同選項,但它們是相同的。只是想了解它們在功能和實現水平上的差異 –