swift與OC的區(qū)別:
swift是一門強(qiáng)語(yǔ)言,而OC是一門弱語(yǔ)言镜悉。強(qiáng)語(yǔ)言比弱語(yǔ)言更加嚴(yán)謹(jǐn) 每寫一行代碼系統(tǒng)都會(huì)自動(dòng)檢測(cè)是否有錯(cuò)誤辉词,這樣就減少了運(yùn)行后出錯(cuò)的可能。swift支持開(kāi)源闸度,所以可以引用到其他語(yǔ)言開(kāi)發(fā)的項(xiàng)目中竭贩,OC是閉源,不能引用筋岛。
swfit的特點(diǎn):
1.swift句尾不需要分號(hào)娶视,除非你想在一行中寫三行代碼就加分號(hào)隔開(kāi)。
2.swift不要寫main函數(shù),程序默認(rèn)從上往下執(zhí)行
3.swift不分.h和.m文件肪获,一個(gè)類只有.swift一個(gè)文件
4.swift不在有地址的概念
5.swift數(shù)據(jù)類型都會(huì)自動(dòng)判斷寝凌, 只區(qū)分變量var 和常量let
6.強(qiáng)制轉(zhuǎn)換格式反過(guò)來(lái)了OC強(qiáng)轉(zhuǎn):(int)a ? ? ?Swift強(qiáng)轉(zhuǎn):int(a)
7.整數(shù)的數(shù)據(jù)類型可以通過(guò).min和.max獲得最大和最小值
8.定義類型的別名語(yǔ)法改變OC:typedef int MyInt ? ? ?Swift:typealias MyInt = int
9.swift的模除取余運(yùn)算符支持小數(shù)了。 ?如 5%1.5 = 0.5
10.關(guān)于BOOL類型更加嚴(yán)格孝赫,Swift不再是OC的非0就是真较木,而是true才是真false才是假
11.與第10點(diǎn)相聯(lián)系的就是,swift的賦值運(yùn)算符沒(méi)有返回值青柄。防止誤用“=”和“==”
12.swift可以多對(duì)多賦值伐债。 let(x,y) = (1,2)
13.swift的循環(huán)語(yǔ)句中必須加{}就算只有一行代碼也必須要加
14.swift的switch語(yǔ)句后面以前只能跟整數(shù),現(xiàn)在可以跟各種數(shù)據(jù)類型了致开,如浮點(diǎn)字符串都行峰锁,并且里面不用寫break,如果不想要沒(méi)break的效果 即后面的都想執(zhí)行 那就寫上關(guān)鍵字 ?fallthrough(注意:在fallthrough后面就不能再定義常量變量了)
15.swift中多出了 ? 和 ! (双戳?表示可選類型虹蒋,即可以有值也可以無(wú)值? !表示強(qiáng)制解包飒货,注意不能解空包魄衅,否則會(huì)造成崩潰)