swift和OC的区别

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..<b表示[a,b),而且可以直接写在for-in循环中;

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 {

case let(a,b) where a == b:

printIn("a等于b");

}

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);

 

 

posted @ 2017-03-17 20:43  wangyf的iOS专栏  阅读(1581)  评论(0)    收藏  举报