1、OC和swift簡介編程
OC:基礎c的面向對象的編程語言,1980年開始使用,主要應用於MAC OSX和iOS平臺應用的開發,至今已有三十多年曆史,因蘋果4和4s的火爆,OC在10-14年極爲火爆,語言排行持續飆升,11年贏得了 TIOBE 2011 年度編程語言。swift
Swift,蘋果於2014年WWDC(蘋果開發者大會)發佈的新開發語言,可與OC共同運行於MAC OS和iOS平臺,用於搭建基於蘋果平臺的應用程序。Swift是一款易學易用的編程語言,並且它仍是第一套具備與腳本語言一樣的表現力和趣味性的系統編程語言。Swift的設計以安全爲出發點,以免各類常見的編程錯誤類別。2015年12月4日,蘋果公司宣佈其Swift編程語言如今開放源代碼。可見蘋果公司對swift的青睞。數組
2、OC和swift比較xcode
相對OC,Swift 是一種新的編程語言,用於編寫 iOS 和 OS X 應用。Swift 結合了 C 和 Objective-C 的優勢而且不受C兼容性的限制。Swift 採用安全的編程模式並添加了不少新特性,這將使編程更簡單,更靈活,也更有趣。Swift 是基於成熟並且倍受喜好得 Cocoa 和 Cocoa Touch 框架,他的降臨將從新定義軟件開發。Swift集成了Objective-C 的命名參數以及動態對象模型,能夠無縫對接到現有的 Cocoa 框架,而且能夠兼容 Objective-C 代碼。在此基礎之上,Swift 還有許多新特性而且支持過程式編程和麪向對象編程。安全
Swift更加安全,Swift消除了不安全的代碼。變量老是初始化以前使用,數組和整數檢查溢出,內存自動管理。語法被調整到能夠很容易地定義你的意圖 - 例如,簡單的三個字符的關鍵字定義一個變量(var)或常量(let)。框架
在Swift的安全模式被調整爲強大的Cocoa和Cocoa Touch的API。認識和妥善處理其中的對象是零案件是基本的框架和Swift的代碼使這個很是容易。添加一個字符能夠代替曾經Objective-C中整行的代碼。這一相互配合,使構建iOS和Mac應用程序比之前更加容易和安全。在編譯時也能屏蔽掉一些使用OC語言會產生的問題。編程語言
OC能夠與C和C++混編,不過其smalltalk風格的語法讓習慣C系語言的人很不習慣;swift靈活一些,並且吸取了其餘語言的一些較優的語法特性,但Swift是強語法,其編譯速度比較慢。不過都是iOS和OS X平臺上的特定語言,編寫原生程序的話只能用他們,因此說找他們的優勢和不足其實沒什麼意義,語言也就是一種表達符號,過多討論這些沒有價值,編程的思想纔是最重要的。學習
3、OC和swift交叉使用ui
在Swfit代碼中添加OC文件的時候,須要依賴一個bridging header文件,Xcode會在你新建一個OC文件的時候自動幫你建立(項目是使用Swift語言建立的),點擊yes,Xocde就會在新建OC文件的同時幫咱們新建一個 xxx-Bridging-Header.h 文件,xxx是你的項目名稱(Product Module),而後咱們得編輯這個文件才能讓Swfit代碼調用OC代碼,若是是手動拖入,則須要咱們在Build Setting手動配置。spa
當在OC裏調用Swift中的代碼時,須要依賴一個xcode自動生成的頭文件,這個自動生成的頭文件定義了項目中全部的Swift文件,這個頭文件的命名爲 「xxx-Swift.h」 ,xxx爲項目的名稱,此外就不須要再作任何事情了,你只須要在OC代碼裏導入這麼一個文件,就能夠跟沒事同樣拿任意一個Swift中的代碼用了
|
調用Swift代碼 |
調用OC代碼 |
Swift代碼 |
無需聲明 |
#import "ProductModuleName-Swift.h」 |
OC代碼 |
依賴bridging header文件 |
#import "Header.h」 |
4、OC和swift選擇
從語言上來說,swift比oc更加簡潔高效。 然而從開發角度上看,swift要比oc難度大,對於已經熟悉 Cocoa, Cocoa touch 開發的開發人員來說,Swift 仍是很容易上手的,對於徹底不懂Objective-C ,而且沒有任何 Cocoa, Cocoa touch 開發經驗的人來說,直接上手學習Swift 依然會很是困難。由於你不但要熟悉語言結構,你還要去熟悉各類API, 熟悉整個Cocoa, Cocoa ,因此建議初學者仍是從OC起步會更加順手。
swift做爲一門新語言,裏邊仍是存在很多問題,近幾年版本更新會較爲頻繁,因此近期仍是建議使用oc開發。