swift協(xié)議實(shí)際應(yīng)用 在泛型中,為什么object數(shù)組能夠轉(zhuǎn)換成實(shí)際類型數(shù)組?
在泛型中,為什么object數(shù)組能夠轉(zhuǎn)換成實(shí)際類型數(shù)組?讓我們來(lái)談?wù)凾oArrayArrayList。Toarraylist提供了一種非常方便的方法將列表轉(zhuǎn)換為數(shù)組toArray。ToArray有兩個(gè)
在泛型中,為什么object數(shù)組能夠轉(zhuǎn)換成實(shí)際類型數(shù)組?
讓我們來(lái)談?wù)凾oArrayArrayList。Toarraylist提供了一種非常方便的方法將列表轉(zhuǎn)換為數(shù)組toArray。ToArray有兩個(gè)重載方法:1列表.toArray()2. 列表.toArray(t[]a)對(duì)于第一個(gè)重載方法,列表直接轉(zhuǎn)換為object[]array;第二個(gè)方法是將列表轉(zhuǎn)換為所需類型的數(shù)組。當(dāng)然,當(dāng)我們使用它時(shí),我們會(huì)將它轉(zhuǎn)換為與列表相同的類型。如果要在一行中編寫(xiě)多行代碼,需要添加分號(hào)來(lái)分隔它們
2。Swift不需要編寫(xiě)主函數(shù),程序默認(rèn)自上而下運(yùn)行
3。斯威夫特不再有地址的概念
4。斯威夫特沒(méi)有分開(kāi)。H和。M個(gè)文件,每個(gè)類只有一個(gè)。Swift文件
5。Swift會(huì)自動(dòng)確定數(shù)據(jù)類型,只區(qū)分變量VaR和常量let
6。快速投射:int(a)
7。整數(shù)的數(shù)據(jù)類型可以通過(guò)計(jì)算得到最大值和最小值。最小值和。最大
8。定義類型的別名語(yǔ)法,更改OC:typedef integer myinteger swift:typealias myinteger=integer
9。swift中的余數(shù)運(yùn)算支持十進(jìn)制,如4%0.6=[0.4
10。swift中的True是True,false是false,OC中的非零是True
11。swift的賦值運(yùn)算符沒(méi)有返回值
12。Swift可以指定多對(duì)多的值,例如let(a,b)=(3,4)
13。swift的loop語(yǔ)句必須加{},即使只有一行代碼
14。swift的switch case語(yǔ)句可以關(guān)聯(lián)各種數(shù)據(jù)類型,如浮點(diǎn)數(shù)、字符串等,不需要寫(xiě)break
15。斯威夫特有范圍運(yùn)算符,例如。。。B代表[a,B],a。。<B為[a,b],可直接寫(xiě)入for in循環(huán)
有沒(méi)有人能說(shuō)一下swift的array和ocnsarry有什么區(qū)別?
可以像其他對(duì)象一樣用作參數(shù)。例如:Fun函數(shù)(X:[int]){//print all elements print(X)//生成一個(gè)新數(shù)組,每個(gè)元素是原來(lái)數(shù)組的兩倍let y=X.map{$0*2}//新數(shù)組的結(jié)果應(yīng)該是[2,4,6,8,10]print(y)//對(duì)所有數(shù)組元素求和,0表示初始化一個(gè)求和變量let z=X.reduce(0){$0$1}//z let a=[1,2,3,4,5] 功能(X:a)