文档章节

[swift]-可选类型使用

XJDomain
 XJDomain
发布于 2016/08/01 10:34
字数 426
阅读 13
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

1:在swift中,nil也是一种特殊类型,字符串在初始化的时候是不能赋值为nil,但是字符串在开发过程中赋值为nil是在所难免的,所以苹果推出了可选类型

2:在swift中有规定:对象中的任意属性创建对象的时候,都必须有明确的初始化值

 

3:可选类型两种定义方式

  >常用方式

var name1 : Optional<String> = nil

  >常用方式

var name2 : String? = nil

 

 

4:可选类型赋值

// 给可选类型赋值
name1 = "abc"
name2 = "ABC"
print(name1)
print(name2)

 

 

5:取出可选类型的值

  > 1: 可选类型!  ---->解包就是取值

  > 2: 注意:强制解包如果可选类型为nil,就会崩溃

  > 3: 建议:在强制解包之前,对可选类型判断是否为nil

if name1 != nil {
    print(name1!)
}

 

6:可选绑定

 > 1:可选绑定就是开发过程中常用的取出可选类型的值的写法

if name1 != nil {
    print(name1!)
    print(name1!)
    print(name1!)
    print(name1!)
    print(name1!)
    print(name1!)
    print(name1!)
}

> 2:如果按照上面多次打印,每次打印都需要重新解包,很麻烦,所以推出了可选绑定

 

> 3:常用写法:

// 常用写法
if let name1 = name1 {
    print(name1)
    print(name1)
    print(name1)
    print(name1)
    print(name1)
}

说明:上面常用写法语句做了两步操作:判断name1是否有值

       > 1: 如果name1没有值,直接不执行{}里面的语句

       > 2: 如果name1有值,系统会自动将name1强制解包,并且将强制解包的结果直接赋值给name1

 

意见反馈邮件:1415429879@qq.com
欢迎你们的阅读和赞赏、谢谢!

 

 

 

 

 

 

 

 

 

 

XJDomain
粉丝 16
博文 112
码字总数 44060
作品 0
嘉定
高级程序员
私信 提问
加载中
请先登录后再评论。
CDH5: 使用parcels配置lzo

一、Parcel 部署步骤 1 下载: 首先需要下载 Parcel。下载完成后,Parcel 将驻留在 Cloudera Manager 主机的本地目录中。 2 分配: Parcel 下载后,将分配到群集中的所有主机上并解压缩。 3 激...

cloud-coder
2014/07/01
6.8K
1
Swift百万线程攻破单例(Singleton)模式

一、不安全的单例实现 在上一篇文章我们给出了单例的设计模式,直接给出了线程安全的实现方法。单例的实现有多种方法,如下面: class SwiftSingleton { } 这段代码的实现,在shared中进行条...

一叶博客
2014/06/20
3.5K
16
beego API开发以及自动化文档

beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一步一步的测试中开发,期间QQ群里面很多人都问我如何开发,我的业余时间实在...

astaxie
2014/06/25
2.7W
22
diff程序--dwdiff

dwdiff是一个diff程序,运行在单词级别而不是行级别。它不同于wdiff,它允许用户指定应该考虑空白,它需要一个可选的字符列表,应该被视为 分隔符。分隔符是单字符被当作有话说,即使没有空格分开...

匿名
2012/11/04
550
0
使用IBPP在C++中操作FireBird/Interbase数据库

FireBird是一种小巧的关系型数据库,它有多种版本,包括服务器版(象MySQL),单机版(象Access)以及嵌入式(象SQLite)。而且不管是服务器版还是嵌入式版它都完整支持视图、触发器、存储过程等...

Waiting4you
2009/07/26
3.8K
2

没有更多内容

加载失败,请刷新页面

加载更多

汇总一下 Intellij IDEA 常用的牛逼插件!

来源:blog.csdn.net/sunny243788557/java/article/details/106011723 1、日晒主题 Solarized Themes 2、idea上 类调用时序图 SequenceDiagram for IntelliJ IDEA 3、彩色括号 Rainbow Brac......

路人甲Java
昨天
16
0
StringBuider 在什么条件下、如何使用效率更高?

点击上方“方志朋”,选择“设为星标” 回复”666“获取新整理的面试文章 作者:后青春期的Keats cnblogs.com/keatsCoder/p/13212289.html 引言 都说 StringBuilder 在处理字符串拼接上效率要...

方志朋
昨天
7
0
预告|悬镜子芽:新一代灰盒安全测试技术实践分享

点击蓝字 关注我们 万物皆有法,方能有序运行。网络安全进化到内生安全时代,以框架为起点,规划全景,技术内生外长,不断叠加,形成新一代网络安全之道。2020北京网络安全大会(BCS2020)已...

悬镜
昨天
0
0
zoom免费用户无法在中国登陆,RHUB免费续航zoom

中美关系日趋紧张,许多产品强制要求用户站队,zoom已经做了选择,抛弃众多信任、认可zoom产品的用户。微软选择坚持为中国用户提供服务,谁又说得来明天会如何?我们如此泱泱大国,竟要受制于...

osc_gt7nq50v
24分钟前
19
0
kubernetes 安装笔记

ssh -p 9000 root@127.0.0.1 192.168.56.101 master-node 192.168.56.102 work-node1 192.168.56.103 work-node2 由于kubeadm 默认从官网k8s.grc.io下载所需镜像,国内无法访问,因此需要通过......

solate
24分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部