文档章节

[swift]-可选类型使用

XJDomain
 XJDomain
发布于 2016/08/01 10:34
字数 426
阅读 10
收藏 0
点赞 0
评论 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

Swift - 变量、常量、可选项、字面量

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

Albert_Lee ⋅ 2017/11/15 ⋅ 0

10-Swift中的可选类型

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

不孤独的美食家 ⋅ 2016/08/08 ⋅ 0

iOS开发系列--Swift 3.0

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

jianxin160 ⋅ 2016/06/17 ⋅ 0

Swift中的可选类型(Optional)

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

Yenn ⋅ 2015/08/28 ⋅ 0

The Swift Programming Language

基础部分(The Basics) 1.0 翻译:numbbbbb, lyuka, JaySurplus 校对:lslxdx 2.0 翻译+校对:xtymichael 2.1 翻译:Prayer 校对:shanks,overtrue本页包含内容: 常量和变量声明常量和变量...

Align ⋅ 2016/01/12 ⋅ 0

重读 Swift 之一:Optional(可选型)

之前学习 Swift 的时候都是比较破碎,零零散散,以至于有些地方学习的不够透彻。所以趁最近有时间,就开始重新学习 Swift ,从最基本的开始学习,希望能深入理解,见微知著! 关于 Swift 我们...

HenryCheng ⋅ 2016/08/05 ⋅ 0

Swift2.0语言教程之类的嵌套与可选链接

Swift2.0语言教程之类的嵌套与可选链接 Swift2.0语言类的嵌套 在一个类中可以嵌套一个或者多个类。它们的嵌套形式也是不同的,大致分为了两种:直接嵌套和多次嵌套。下面依次讲解这两种方式。...

大学霸 ⋅ 2015/07/22 ⋅ 0

Swift - 基本语法和数据类型

Swift是一门开元的编程语言,该语言用于开发OS X和iOS应用程序。 工欲善其事必先利其器,在开发之前,我们需要搭建Swift开发环境。搭建swift开发环境的前提: 1.苹果电脑。Xcode只能运行在O...

Albert_Lee ⋅ 2017/11/15 ⋅ 0

Swift4.0基础知识回顾

简单介绍一下Swift Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序,Swift语言让应用开发更简单、更快、更稳定,确保最终应用有着更好的质量更多了解Swift可以去《The...

博行天下 ⋅ 2017/12/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vue使用mockjs

在使用vue开发的时候,一直疑惑与mockjs怎么用,开了mockjs的开发文档,还是一脸蒙蔽,无从下手!mockjs在前后端分离开发上进行模拟数据,是不可避掉的一环。在网上看了一些博文还有查阅了其...

JamesView ⋅ 19分钟前 ⋅ 0

解决问题的思路

1.相对来说,程序逻辑解决问题的思路应该更加趋向于通过逻辑结构来解决问题,而不是通过更小的类级别和方法级别的改进 2.类级别和方法级别的改进需要的技术能力更高一点

th778899 ⋅ 26分钟前 ⋅ 0

HTTP请求状态及jQuery AJAX请求异常处理

上一周调优一个项目的Js部分,其中一个严重的问题就是在页面初始化数据时,没有对异常进行处理, 导致Loading一直在等待中,无提示无处理。在用户体验上很不好,即使网络条件无法保证,在出错...

临江仙卜算子 ⋅ 26分钟前 ⋅ 0

error code 1874. innodb is in read only mode--报错解决

参考网页 https://zhidao.baidu.com/question/746894876932022292.html https://blog.csdn.net/shushugood/article/details/80226767 问题背景 创建了一个数据库然后想删除,因为自己本机性能......

karma123 ⋅ 27分钟前 ⋅ 0

JVM系列:jinfo命令详解

jinfo全称Java Configuration Info,主要作用是实时查看和调整JVM配置参数。 一.查看JVM参数 用法:jinfo -flag <name> PID 示例: # jinfo -flag MaxMetaspaceSize 11180 # -XX:MaxMetaspac......

Jacktanger ⋅ 32分钟前 ⋅ 0

exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp

1. exportfs命令 一般情况下重启服务器上nfs服务时,需把客户端上的挂载先卸载掉,以免进程后面杀不掉。当客户端服务器很多时,操作起来就比较麻烦。此时可以使用exportfs命令重新加载下。 ...

laoba ⋅ 41分钟前 ⋅ 0

基于Python的信用评分卡模型分析

信用风险计量体系包括主体评级模型和债项评级两部分。主体评级和债项评级均有一系列评级模型组成,其中主体评级模型可用“四张卡”来表示,分别是A卡、B卡、C卡和F卡;债项评级模型通常按照主...

火力全開 ⋅ 42分钟前 ⋅ 0

执行make命令时报错g++: Command not found

执行make命令时报错g++: Command not found 2016年10月24日 12:31:29 阅读数:4366 朋友安装node时遇到的问题 报错截图: 其实很简单只需要安装一下 yum -y install gcc automake autoconf l...

rootliu ⋅ 42分钟前 ⋅ 0

Loongnix(龙芯)系统,优盘安装指南

U盘安装分为两种方式:"usb disk" 及 "usb cd"。其中usb cd是将usb disk做为usb光驱使用。 usb disk安装步骤: 需要准备一个大小超过3.5G的U盘,格式化ext3格式 下载安装光盘镜像xxx.iso,将...

gugudu ⋅ 46分钟前 ⋅ 0

HTML5中meta属性的使用详解

meta属性在HTML中占据了很重要的位置。如:针对搜索引擎的SEO,文档的字符编码,设置刷新缓存等。虽然一些网页可能没有使用meta,但是作为正规军,我们还是有必要了解一些meta的属性,并且能...

guorongjin ⋅ 49分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部