OC与Swift在判读语句中的区别

11.swift中的switch结构

区别一:

oc中switch条件只可以放整数

swift中switch条件可以放几乎任何数据类型

区别二:

oc中每一个case中应有break,如果没有break,则会继续向下贯穿执行case直到碰见break跳出switch结构

swift中不需要在case分支最后添加break语句,该case分支执行完成后,会跳出switch结构

区别三:

oc中不是每个case后面必须有可执行语句,如果某个case分支中没有可执行语句和break,则该分支将会执行其下面最近的一个有可执行语句的分支中代码,以此实现多条件匹配

swift中每个case后面必须都有可执行语句,

ps:此区别是因为区别二的存在,swift中表示多条件匹配的情况使用的语法为,case后跟多个条件,用逗号隔开。

此外,swift的case中可以填写一个范围作为匹配条件,如case a...b:

区别三:

oc中switch中default不是必需的

swift中switch中default是必需的

swift中switch语句可以使用where来增加判断条件

如:

var point = (10,-10)

switch point{

  case let(x,y) where x == y :

//

case let(x,y) where x == -y :

//

default :

    //

}

swift中switch语句可以使用fallthrough关键字来执行贯穿操作,即执行完当前case后,会接着执行fallthrough后面的case活着default语句,类似于oc中case没有写break语句,但是使用了fallthrough,其后面的case条件中将不能定义常量或变量,即fallthrough后面的case条件不能使用类似上面代码中let (x,y) 这样的变量来接收point,否则会有语法错误。

时间: 2024-08-26 02:44:57

OC与Swift在判读语句中的区别的相关文章

continue语句在for语句和while语句中的区别

while语句的形式: while( expression ) statement for语句的形式: for( expression1; expression2;expression3 )   // ( 初始化,条件,调整 ) statement break语句在for语句和while语句中的作用都是:永久终止其循环:而continue语句在两个语句中存在区别: 在for语句中,continue语句跳过循环体的剩余部分,直接回到调整部分: 在while语句中,调整部分是循环体的一部分,所以co

iOS开发--Swift 如何完成工程中Swift和OC的混编桥接(Cocoapods同样适用)

由于SDK现在大部分都是OC版本, 所以假如你是一名主要以Swift语言进行开发的开发者, 就要面临如何让OC和Swift兼容在一个工程中, 如果你没有进行过这样的操作, 会感觉异常的茫然, 不用担心, 整个过程非常简单. 在已有的Swift工程中, 当你需要使用OC的类文件, 或者需要集成SDK时, 创建你需要的OC的类文件, 创建结束后, 会提示生成一个桥接头文件, 点击蓝色Create按钮. *OC工程也一样, 只是要进行相反的操作, 在需要创建OC文件的时候创建一个Swift的文件 *创

使用OC和Swift两种语言写一个发射烟花的小项目

OC与Swift两种实现方式基本上区别不大,主要是在一些对象或方法的调用方式不同 OC代码样式: self.view.backgroundColor = [UIColor blackColor]; //加载颗粒状的火花图片 CAEmitterLayer *emitterLa = [CAEmitterLayer layer]; emitterLa.emitterPosition = CGPointMake(self.view.bounds.size.width/2, self.view.bound

OC与Swift的区别四

12.条件语句的区别,此处只写区别,没有指出区别的其他方面oc与swift基本一致 12.1 oc中for if switch语句体如果只有一行代码,则{}可以省略 swift中for if switch语句体必须使用{} ,否则有语法错误 12.2for-in语法的区别:  //从1循环到3,包括3,即循环3次  for i in 1..3{ }  //如果不需要用到循环条件范围中的值,则使用_忽略该循环条件值,使其在循环体内不会创建局部变量 for _ in 1..3{ }  //循环条件值

swift笔记-if语句

//1.基本使用 let num = 23 if num > 10 { print("num is big") }else if num < 0 { print("num is fushu") }else{ print("num is mid") } swift中,if后面跟的条件语句必须是boolType表达是,像在OC中的if(num)在swift中便不能使用了 2.if let的理解 var optionalName: Stri

初步swift语言学习笔记9(OC与Swift杂)

笔者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/34440159 转载请注明出处 假设认为文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢! swift 语言出来后,可能新的项目直接使用swift来开发.但可能在过程中会遇到一些情况.某些已用OC写好的类或封装好的模块.不想再在swift 中再写一次.哪就使用混编.这个在IOS8中是同意的. 先中简单的入手,先研究在同一个project

swift篇第五期:UITableView,OC与Swift互调

先写一个UITableView的简单创建吧,经过前面几期的内容,那么创建一个常用的控件也是蛮简单的哦   class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, NSURLConnectionDataDelegate {          var dataArray = NSMutableArray()     var tableView: UITableView?     overr

iOS代码规范(OC和Swift)

下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button1.button2.button3,全文没有注释,去看代码逻辑才能知道这三个按钮的意思,我也是醉了! 下面的规范 有的定的比较死,大家可以根据自己团队的风格进行修改.该文章主要是OC的代码规范,有几个是Swift的规范. OC和Swift的代码规范如下: 一.VC生命周期 模块排列顺序 1. 注意

OC跟Swift混编

OC项目中使用Swift 本文版权归作者所有,如需转载请联系孟祥月 CSDN博客:http://blog.csdn.net/mengxiangyue  独立博客:http://mengxiangyue.com 最近公司的项目开始计划使用Swift,由于原先的工程都是使用OC编写的,不可能一下全部转换成Swift,所以采用OC与Swift混编的方式是最好的选择.这篇文章只是一个简单的介绍,并没有太高深的知识. 我新建了一个演示的OC工程,当然你可以使用你已经存在的OC的工程.如果我们想要在OC工程