文档章节

[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

概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行。在...

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

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

Yenn
2015/08/28
240
0

没有更多内容

加载失败,请刷新页面

加载更多

Generator-ES6

基本概念 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。 Generator 函数有多种理解角度。语法上,首先可以把它理解成,Generator 函数是一个状态机,封装...

简心
27分钟前
4
0
FullCalendar日历插件说明文档

普通显示设置 属性 描述 默认值 header 设置日历头部信息。 如果设置为false,则不显示头部信息。包括left,center,right左中右三个位置,每个位置都可以对应以下不同的配置: title: 显示当...

ada_young
28分钟前
1
0
Redis知识总结--string的内部实现

SDS(Simple Dynamic String) String的数据结构是一个字节数组,但简单的获取数组长度的时间复杂度就是O(n),这对于单线程的redis来讲是不能接受的,因此string在redis中的实现是SDS类,SDS类...

looqy
38分钟前
2
0
SpringBoot开发案例之整合Dubbo分布式服务

前言 在 SpringBoot 很火热的时候,阿里巴巴的分布式框架 Dubbo 不知是处于什么考虑,在停更N年之后终于进行维护了。在之前的微服务中,使用的是当当维护的版本 Dubbox,整合方式也是使用的 ...

Java干货分享
44分钟前
5
0
美团团购订单系统优化记

团购订单系统简介 美团团购订单系统主要作用是支撑美团的团购业务,为上亿美团用户购买、消费提供服务保障。2015年初时,日订单量约400万~500万,同年七夕订单量达到800万。 目标 作为线上S...

Skqing
48分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部