Swift开发过程中常用到的一些使用技巧和注意的地方

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、当使用(+/-)一元运算符、(++\--)运算符的时候,运算符与变量之间不能有空格的存在

时间: 2024-11-01 13:25:59

Swift开发过程中常用到的一些使用技巧和注意的地方的相关文章

开发过程中常用的Linux命令

做Java开发好几年了,部署JavaWeb到服务器上,一般都选择Linux,Linux作为服务器真是不二之选,高性能,只要熟悉Linux,操作快捷,效率很高. 总结一下工作中常用的Linux命令备忘: 一.文件操作相关命令 1.创建目录 mkdir software 2.创建多级目录 mkdir /opt/software/ -p 3.删除文件或目录 rm test.sh 此删除命令运行后需要输入y确认的交互过程 rm -f test.sh 直接强制删除不需要输入yes确定 rm -rf /op

Swift 项目中常用的第三方框架

Swift 项目中可能用到的第三方框架 字数1004 阅读4091 评论17 喜欢93 这里记录下swift开发中可能用的框架 , 最近浏览了不少,积累在这里,以后用的时候方便查阅.顺便推荐给大家! 这里的框架都是纯swift的 , 感谢开源 ,感谢大神们 . 下拉刷新 BreakOutToRefresh 一个下拉刷新打砖块的swift库 SDRefreshView 简单易用的上拉和下拉刷新 ZLSwiftRefresh - 下拉刷新/上拉加载更多,支持自定义动画,集成简单 GearRefres

面向服务(接口)开发过程中常用的实体类数据复制解决方案

现在面向服务开发基本已经成为B\S.C\S开发必不可少的概念了,之前做过一个WCF服务,在Web端以MVC开发模式去调用这个服务,其中就涉及到了实体类数据的复制,因为Server端的Model和MVC中的Model从理论上说作用域不同,所以当你获取服务返回的数据时,你需要使用实体类去装载这些数据.大致是这样实现的,在Web端声明一个function,(不需要反射,也不需要深克隆)给两个参数,一个是源对象,一个是目标对象.好了接下来有个问题,有时实体类中会有静态字段,所以也得去处理这个静态字段的数

Swift开发中常用的一些图片处理方法

//MARK: - 生成指定尺寸的纯色图片 func imageWithColor(color: UIColor!, size: CGSize) -> UIImage{ var size = size if CGSizeEqualToSize(size, CGSizeZero){ size = CGSizeMake(1, 1) } let rect = CGRectMake(0, 0, size.width, size.height) UIGraphicsBeginImageContext(re

开发过程中常用工具类

/** * 判断非空 * * @param val * @returns {Boolean} */function isEmpty(val) { val = $.trim(val); if (val == null) return true; if (val == undefined || val == 'undefined') return true; if (val == "") return true; if (val.length == 0) return true; if (

分享-个人开发过程中常用的资料网站

注:按Ctrl+单击 打开网页内容. 博客园 Java论坛-CSDN论坛-CSDN.NET-中国最大的IT技术社区 开源中国 - 找到您想要的开源项目,分享和交流 ITeye Java编程 Spring框架 Ajax技术 agile敏捷软件开发 ruby on rails实践 - ITeye做最棒的软件开发交流社区 WEB开发者 - Admin10000.com SourceForge - Download, Develop and Publish Free Open Source Softwa

[工作经验]前端开发过程中常用技巧总结

多行文本溢出显示省略号(...)的方法 现在的浏览器都支持text-overflow:ellipsis属性,用来实现单行文本的溢出显示省略号. 如: 单行文本: overflow:hidden;white-space:nowrap;text-overflow:ellipsis 一些其他技巧可参考:http://www.zhangxinxu.com/wordpress/?p=230 多行文本: text-overflow:ellipsis; display:-webkit-box; -webkit

Visual Studio 2015开发过程中常用快捷键

1.显示方法的重载:ctrl + shift + space 2.注释代码:ctrl + K,C 3.取消注水:ctrl + K,U 4.删除选中代码并且复制:ctrl + L 5.定位到定义:F12 6.将光标移动到上次位置:ctrl + - 7.整理代码:ctrl + K,F 8.添加引用:alt + shift + F10 9.智能提示补充代码:ctrl + J 10.快速地补充for循环:for + TAB + TAB 11.WinForm设计器快速查看代码:F7 12.增加断点:F9

iOS开发过程中,触控板的使用技巧

1.在Storyboard鼠标右键可以直接拖线的,如果你用的是外接的第三方鼠标,没必要按着 control 键再用鼠标左键拖线 如果是触控板的话,双指按下去就可以直接拖线,带3Dtouch功能的触控板会比较好使 2.双击选中一个单词,三击选中一行,方便管理 3.删除时, option + delete 一般情况下删除一个单词, command + delete 删除一行