swift 與 OC 的區(qū)別 2021-02-24

一,區(qū)別

1,最明顯的區(qū)別:OC一個(gè)類由.h和.m兩個(gè)文件組成,而swift只有.swift一個(gè)文件,所以整體的文件數(shù)量比OC有一定減少。

2,不像C語言和OC語言一樣都必須有一個(gè)主函數(shù)main()作為程序的入口,swift程序從第一句開始向下順序執(zhí)行,一直到最后。

OC的main函數(shù):

?int main(int argh, char * argh[]) {

?@autoreasepool {

? ?return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

? ?}

?}

3,swift數(shù)據(jù)類型都會(huì)自動(dòng)判斷,只區(qū)分變量var和常量let。

4,關(guān)于BOOL類型更加嚴(yán)格,swift不再是OC的非0就是真,而是true才是真false才是假。

5,swift的switch語句后面可以跟各種數(shù)據(jù)類型了,如Int,字符串,元組,區(qū)間都行,并且里面不用寫break。

6,swift 中可以定義不繼承于其它類的類,稱之為基類(base calss)。

7,final關(guān)鍵字

使用final關(guān)鍵修飾的類,不能被其他類繼承。

繼承final修飾的類會(huì)報(bào)錯(cuò):Inheritance from a final class '…..'

8,類方法修飾符:static

9,guard關(guān)鍵詞

注意事項(xiàng):

1.guard關(guān)鍵字必須使用在函數(shù)中。

2.guard關(guān)鍵字必須和else同時(shí)出現(xiàn)。

3.guard關(guān)鍵字只有條件為false的時(shí)候才能走else語句 相反執(zhí)行后邊語句。

用處:

判斷某個(gè)參數(shù)是否符合要求,不符合直接返回。省去過多的if-else語句。

10,in out關(guān)鍵詞

in-out是修飾函數(shù)參數(shù)類型,表示該參數(shù)在函數(shù)內(nèi)修改后(即函數(shù)返回后),其值為修改后的值.

1,適用類型為變量

2,in-out修飾后的參數(shù),在傳參時(shí)需&修飾

二,Swift比Objective-C優(yōu)勢(shì):

1,Swift容易閱讀,語法和文件結(jié)構(gòu)簡(jiǎn)易化。

?2,Swift更易于維護(hù),文件分離后結(jié)構(gòu)更清晰。

?3,Swift更加安全,它是類型安全的語言:

??????Swift 是一個(gè)類型安全(type safe)的語言。類型安全的語言可以讓你清楚地知道代碼要處理的值的類型。如果你的代碼需要一個(gè) String ,你絕對(duì)不可能不小心傳進(jìn)去一個(gè) Int 。

由于 Swift 是類型安全的,所以它會(huì)在編譯你的代碼時(shí)進(jìn)行類型檢查(type checks),并把不匹配的類型標(biāo)記 為錯(cuò)誤。這可以讓你在開發(fā)的時(shí)候盡早發(fā)現(xiàn)并修復(fù)錯(cuò)誤。

當(dāng)你要處理不同類型的值時(shí),類型檢查可以幫你避免錯(cuò)誤。然而,這并不是說你每次聲明常量和變量的時(shí)候都需 要顯式指定類型。如果你沒有顯式指定類型,Swift 會(huì)使用類型推斷(type inference)來選擇合適的類型。有了類型推斷,編譯器可以在編譯代碼的時(shí)候自動(dòng)推斷出表達(dá)式的類型。原理很簡(jiǎn)單,只要檢查你賦的值即可。

因?yàn)橛蓄愋屯茢啵?C 或者 Objective-C 比起來 Swift 很少需要聲明類型。常量和變量雖然需要明確類型,但 是大部分工作并不需要你自己來完成。

4,Swift代碼更少,簡(jiǎn)潔的語法,可以省去大量冗余代碼。

5,Swift速度更快,運(yùn)算性能更高。

三、Swift目前存在的缺點(diǎn):

?1、版本不穩(wěn)定,之前升級(jí)Swift3大動(dòng)刀,苦了好多人,swift4目前還未知。

?2、使用人數(shù)比例偏低,目前還是OC的天下

?3、社區(qū)的開源項(xiàng)目偏少,畢竟OC獨(dú)大好多年,很多優(yōu)秀的類庫(kù)都不支持Swift,不過這種狀況正在改變,現(xiàn)在有好多優(yōu)秀的Swift的開源類庫(kù)了。

?4、公司使用的比例不高,很多公司以穩(wěn)為主,還是在使用OC開發(fā),很少一些在進(jìn)行混合開發(fā),更少一些是純Swift開發(fā)。

5、偶爾開發(fā)中遇到的一些問題,很難查找到相關(guān)資料,這是一個(gè)弊端。

?6、純Swift的運(yùn)行時(shí)和OC有本質(zhì)區(qū)別,一些OC中運(yùn)行時(shí)的強(qiáng)大功能,在純Swift中變無效了。

?7、對(duì)于不支持Swift的一些第三方類庫(kù),如果非得使用,只能混合編程,利用橋接文件實(shí)現(xiàn)。

原始鏈接:http://www.lxweimin.com/p/ab543aaecf50

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,321評(píng)論 6 543
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,559評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,442評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,835評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,581評(píng)論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,922評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,931評(píng)論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,096評(píng)論 0 290
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,639評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,374評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,591評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,104評(píng)論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,789評(píng)論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,196評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,524評(píng)論 1 295
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,322評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,554評(píng)論 2 379

推薦閱讀更多精彩內(nèi)容