swift和OC的區別

2022-05-29 07:48:13 字數 1221 閱讀 7554

1.swift句尾的分號可以省略,除非你想在一行中寫多行**需要加分號隔開;

2.swift不需要寫main函式,程式預設從上往下執行;

3.swift不再有位址的概念;

4.swift不分.h和.m檔案,每個類只有乙個.swift檔案;

5.swift會自動判斷資料型別,只區分變數var和常量let;

6.swift強制轉換:int(a);

7.整數的資料型別可以通過.min和.max獲得最大和最小值;

8.定義型別的別名 語法改變 oc:typedef integer myinteger swift: typealias myinteger=integer;

9.swift裡取餘操作支援小數,如 4%0.6 = 0.4;

10.swift裡true為真,false為假,而oc裡非0即是真;

11.swift的賦值運算子沒有返回值;

12.swift可以多對多賦值,如 let(a,b)=(3,4);

13.swift的迴圈語句中必須加{},就算只有一行**也要加;

14.swift的switch case語句可以跟各種資料型別,如浮點數,字串, 並且裡面不用寫break;

15.swift有範圍運算子,如a...b表示[a,b], a..16.swift獨有移除運算子&+, &-,&*,&/,&%;

17.swift獨有元組型別,如 var point = (x:0,y:64), 取出x:point.x = 0, 取出y:point.1(或者point.y)=64,初始化的時候可以用下劃線省略不需要的元素,如var point = (5, _);

18.swift中,switch語句使用元組型別時,可以用類似sql語句的語法 新增過濾條件

switch point

19.swift的外部引數名:func sum(numone num1:int,numtwo num2:int) -->int{},呼叫時寫 sum(numberone:1, numbertwo:2);或者讓外部引數名和內部引數名一樣:func sum(#num1:int, #num2:int) -->int{},呼叫時寫sum(num1:1, num2:2);

20.swift中函式的預設引數值:func addperson(name:string, age:int=27) -->string{},設定預設年齡為27,呼叫時:addperson("dingding"),如果想改預設引數,需要這樣寫:addperson("dingding",age:33);

Swift和OC的區別?

1.swift是靜態語言,有型別推斷,oc是動態語言。2.swift面向協議程式設計,oc物件導向程式設計 3.swift注重值型別,oc注重引用型別。4.swift支援泛型,oc只支援輕量泛型 5.swift支援靜態派發 效率高 動態派發 函式表派發 訊息派發 方式,oc支援動態派發 訊息派發 方...

OC與Swift的區別

a.b 表示 a,b 包括 a 和 b eg 3.5,就是範圍 3,4,5 a.元組型別元組 tuples 把多個值組合成乙個復合值。元組內的值可以是任意型別,並不要求型別一致。eg var value int,string x 15,y hello 使用常量,更加安全,不能夠被修改,在需要對物件進...

OC和Swift混編 驚喜

今天在和一位前輩交流的之後,使用了oc和swift混編開發,遇到了乙個讓我忍不住要歡呼的情況,在這裡,跟大家分享一下,也再次讚嘆一下xcode的強大.oc和swift混編出現最多的就是在編寫swift 的過程中使用oc框架了.以前,在xcode6.3beta版本的時候,我猶記得我們在進行oc和swi...