文档章节

[swift]-可选类型使用

XJDomain
 XJDomain
发布于 2016/08/01 10:34
字数 426
阅读 10
收藏 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
粉丝 15
博文 112
码字总数 44060
作品 0
嘉定
高级程序员
私信 提问
Swift 4.0 基础学习总结(一)

Swift简介 作者:Chris Lattner Swift 2010年7月开始设计,1年时间完成基本架构,经历4年开发期于WWDC 2014 苹果2014年开发者大会发布,用于撰写OS X和iOS应用程序。 特点: 语法简单,代码简...

xx_cc
2017/11/20
0
0
Swift - 变量、常量、可选项、字面量

Swift变量 变量是一种使用方便的占位符,用于引用计算机内存地址。 Swift每个变量都指定了特定的类型,该类型决定了变量占用内存的大小,不同的数据类型也可以决定可以存储值的范围。 上一篇...

Albert_Lee
2017/11/15
0
0
10-Swift中的可选类型

swift中的可选类型 注意: 可选类型时swift中非常难理解的一个知识点 暂时先了解,多利用Xcode的提示来使用 随着学习的深入,慢慢理解其中的原理和好处 概念: 在OC开发中,如果一个变量暂停不使用...

不孤独的美食家
2016/08/08
9
0
iOS开发系列--Swift 3.0

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jianxin160/article/details/51702073 概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3...

KenshinCui
2016/06/17
0
0
Swift中的可选类型(Optional)

Swift中的可选类型(Optional) 什么是Optional Optional在Swift中表示可选类型,那么什么是可选类型? 我们都知道,在Swift中,属性的值都是不能为的,但是在正常情况下你不可能一开始就确定...

Yenn
2015/08/28
240
0

没有更多内容

加载失败,请刷新页面

加载更多

JAVA-四元数类

public class Quaternion { private final double x0, x1, x2, x3; // 四元数构造函数 public Quaternion(double x0, double x1, double x2, double x3) { this.x0 = ......

Pulsar-V
18分钟前
12
0
Xshell利用Xftp传输文件,使用pure-ftpd搭建ftp服务

Xftp传输文件 如果已经通过Xshell登录到服务器,此时可以使用快捷键ctrl+alt+f 打开Xftp并展示Xshell当前的目录,之后直接拖拽传输文件即可。 pure-ftpd搭建ftp服务 pure-ftpd要比vsftp简单,...

野雪球
20分钟前
0
0
要混乱还是要混蛋——《西欧中世纪》读后感2900字

要混乱还是要混蛋——《西欧中世纪》读后感2900字: 这本书读了多久?好像有一年了,我翻了之前做摘抄的记录,最早一条是今年年初写的。这本书有多少页? 580多页,还不算厚厚一叠欧洲皇室谱...

原创小博客
25分钟前
2
0
Confluence 6 文档主题合并问答

在 Confluence 官方 前期发布的消息 中,文档主题在 Confluence 6.0 及其后续版本中已经不可用。我们知道你可能对这个有很多好好奇的问题,因此我们在这里设置了一个问答用于帮助你将这个主题...

honeymose
53分钟前
2
0
java框架学习日志-2

上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又是什么? 控制其实就是控制对象的创建。 反转与正转对应,正转...

白话
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部