Swift与OC的区别

在Swift刚出来时就学习过,之后也一直没有用Swift写过项目,很快就忘记了,最近又花了点时间过了一遍官方的学习文档。

Swift与OC的差异

基础语法

  • 声明使用let和var关键字,Swift可以推出出类型,let声明的常量不可修改,var声明变量。
  • Swift对数据要求严格,不存在隐式转换,强制转换格式:int(a)
  • 使用整数类型的 min 和 max 属性来获取对应类型的最小值和最大值
  • BOOL类型只有true和false,不再是非0即真,Swift的赋值运算符没有返回值
  • Swift增加了元组类型。元组把多个值组合成一个复合值,元组内的值可以使任意类型,并不要求是相同类型。元组可以让你创建或者传递一组数据,比如作为函数的返回值时,你可以用一个元组可以返回多个值。
  • Swift增加了可选类型,用于处理值缺失的情况。可选类型表示:有值或无值。swift定义的常量和变量是没有默认值的,所以引入了可选的概念,用?修饰变量,标示该变量的值可能为空也可能为某个值,然后获取的时候用!强制解析,此时必须有值,否则报运行时错误。涉及到可选绑定、强制解析和隐式解析等内容。
  • Swift范围运算符:闭区间运算符(a…b),半开区间运算符(a..

字符串

  • 使用+链接字符串
  • 字符串/字符可以用等于操作符(==)和不等于操作符(!=)进行比较
  • 使用下标,下标可以定义在类、结构体和枚举中,是访问集合,列表或序列中元素的快捷方式。

语句

  • Switch语句: Swift 中,可匹配各种类型,当匹配的 case分支中的代码执行完毕后,程序会终止switch语句,而不会继续执行下一个 case分支。不用像OC一样使用break跳出。还可以使用where语句进行条件判断
  • 循环语句中必须加{} ,即使只有一行代码

函数闭包

  • 函数格式 func Sum (num1:Int,num2:Int) –>Int{},与oc一样函数具有有参数、无参数、有返回值、无返回值等多种类型,也可作为参数或返回值。
  • Swift特有的闭包表达式,{ (parameters) -> returnType in
    statements
    }

属性

  • 新增计算属性,计算属性不直接存储值,而是提供一个 getter 和一个可选的setter,来间接获取和设置其他属性或变量的值。
  • 属性观察器,willSet 在新的值被设置之前调用
    didSet 在新的值被设置之后立即调用
    willSet 观察器会将新的属性值作为常量参数传入,在 willSet 的实现代码中可以为这个参数指定一个名称,如果不指定则参数仍然可用,这时使用默认名称 newValue 表示。

其他

当然还有很多的差异没有列出来,这里只是简单的归纳了一部分常遇到的。
* Swift只有一个.swift的文件,没有OC的.h和.m文件,不再需要引入头文件来声明。
* 每条语句不需要使用结尾,除非是一行中包含多条语句。
* Swift支持多行嵌套注释,注释嵌套/*/**/*/

Swift封装的控件

浏览完文档,随意封装了些控件
类新闻客户端
动画加载gif图
日期选择器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值