之前说了在学习swift过程中发现的一些和其他语言不同的点,最近在使用swift语言进行一个简单计算器的开发工作,在使用中又发现了一些需要注意的地方,这里就简单的说一下。
###6. switch/case的使用
和其他语言一样,swift也支持switch的使用。但是和其他语言不同的是,swift里面的每一个case分支不需要显示break,而是在执行结束后会自动break。
而且如果对不同case执行相同操作的话,和其他语言的写法也不相同。
###7. 成员变量getter/setter方法的定义
OC中get/set方法的定义一般是通过getter/setter来声明,或者直接修改系统默认的getter/setter方法。而在swift中对属性的getter/setter方法实在定义该属性时直接通过get/set进行设置。
###8. enum的使用
在OC等语言中,enum就是一个枚举类型,只能够定义一组枚举常量。但是在swift中,enum除了类似功能以外,还可以把不同的数据类型存储在同一个变量中,有点类似于C中union的用法。
如可以这样定义enum:
那么在NodeType类型的变量中就会有一个UInt或者是CalcType类型的变量,可以在适当的时候获取对应的数据。由7的示例代码中可以看到,当需要获取对应数据时,使用case let可以把数据从enum的变量中获取出来。
当然,在enum中也可以直接定义函数,用来对内部的一些数据进行处理。
###9. 函数外部参数名的使用规则
我们前面说过函数外部参数名的概念,其实也就是参数的一个外部调用标签。那么在调用时这些标签是否能够省略是有着以下规则的:
- 在类型的init方法调用时是必须要加入参数标签的
- 在类的实例方法和类方法中,对其调用时Swift将忽略第一个参数的标签,而强制要求之后的参数名称
- 在全局方法中,所有的参数标签默认都是忽略掉得
暂时就先说这么多了,后续有新的内容,会再添加补充。