Swift开发过程中常用到的一些使用技巧和注意的地方
来源:互联网 发布:淘宝什么是淘气值 编辑:程序博客网 时间:2024/06/04 18:34
1、自定义类型typealias
Swift可以更加方便地定义各种类型,这里使用typealias进行别名处理。
举例说明:typealias MySize = UInt
var size :MySize = 100
2、元组
元组语法允许将多个不同类型的值组合成一个复合值并且赋值给一个变量或者常量。元组语法在函数中作为返回值是很好的,可以返回多个类型的值。
元组的定义语法如下:
var classInfo = ("iOS888",100)
使用这种方式定义一个数组时,读取其中 的一个元素,可以通过元素在元组中的位置进行读取。位置从0下标开始,如下代码中的0和1代表元组中的第0个和第1个元素,一次类推:
var classInfo = ("iOS888",100)
println("班级名称:\(classInfo.0) 班级人数:\(classInfo.1)")
定义两个元素的元组时,使用以上方法比较简便,但在定义包含多个元素的元组时,这种方法不能明确分辨每个元素所代表的意义。
为了解决这个问题,可以给每个元素进行命名:
var classInfo = (classname:"iOS888",classId:100)
对使用命名进行定义的元组,取值时可以同时使用下标和元素名称:
println("班级名称:\(classInfo.classname) 班级人数:\(classInfo.1)")
获取元组中的元素还有一种较为简便的方法,即通过对元组的分解,进行元素的匹配获取:
var classInfo = (classname:"iOS888",classId:100)
var (name,id)= classInfo
在进行元组分解的时候,如果只需要其中的某些值,可以再不需要值的地方使用“—”来代替。如下代码所示:
var classInfo = (classname:"iOS888",classId:100)
let (name ,_) = classInfo
println(name)
3、可选类型optional
可选类型是Swift特有的数据格式,在现实编程中,经常使用nil和0来表示没有对象,但是有时候我们需要表示没有和有数据两种情况,数据0也是有数据的一种,这种情况就需要在Swift中使用可选类型来表示。
可选类型的意思为是否这个对象可以有数据,也可以没有数据
3、1可选类型的声明
可选数据类型是在现有的类型后面加上一个问号“?”,表示不确定有没有对该变量进行赋值。格式如下:注意不能再数据类型那个和?之间添加空格。
var str:String?
这里的str可以理解为String?类型的而不是String类型的。
3、2 可选类型的赋值
对可选类型变量的赋值可以直接使用其变量名进行赋值,也可以直接赋值为nil
str = "123"
3、3可选类型的使用
在使用可选变量时,需要在变量名的后面加上感叹号“!”
printlf(str!.toInt)
因为str是被声明为String?类型的,而toInt()方法是String类型的方法,所以不能使用该方法。
对于可能不被赋值的变量,应该声明为可选类型,而在正式使用该变量的时候,需要确定其已经被赋值。“!”的意思就是确定已经被赋值或者确定已经有值。
如果一个可选类型的变量没有被赋值而被使用,结果会报fatal error:Can't unwrap Optional.None错误,也就是程序会崩溃。当然这也方便iOS程序调试。
4、当使用(+/-)一元运算符、(++\--)运算符的时候,运算符与变量之间不能有空格的存在
- Swift开发过程中常用到的一些使用技巧和注意的地方
- 网页设计中常用到的一些技巧
- 嵌入式WEB开发中常用到的一些命令和资源
- Android开发中常用到的一些功能
- 开发中常用到的一些脚本
- MyEclipse使用中常用到的一些快捷键
- 开发中常用到的工具和网站
- 实习过程中常用到的 技巧(1)
- 实习过程中常用到的 技巧(2)
- 开发中常用到的片段
- 两个开发中常用到的
- 开发中常用到的标签
- android开发中常用到的类和一些方法的相关介绍!~
- android 开发中常用到的一些代码片段(一)
- android 开发中常用到的一些代码片段(一)
- Android开发中常用到的一些开源框架
- iOS开发项目中常用到的一些宏
- Android开发中常用到的一些工具类整理
- Docker的save和export命令的区别
- c++ primer 学习笔记-第十章
- 2015山东毕业生如何进行网上报道(报到证)?
- C#调Exe
- linux进程相关命令整理
- Swift开发过程中常用到的一些使用技巧和注意的地方
- request 乱码
- 并查集
- 关于[No grammar constraints (DTD or XML schema) detected for the document.]
- android跨进程通讯二:ContentProvider总结
- 字典树模板(hdu1251)
- hdu 5381 The sum of gcd(线段树等差数列区间修改+单点查询)
- Native通过Javascript与Html5交互
- jsp filter字符过滤器