美文网首页Swift专题
swift中的可选变量

swift中的可选变量

作者: 记忆的北极 | 来源:发表于2018-05-09 10:26 被阅读132次
一,可选变量的定义
//定义可选变量类型,以下两种方式是一样的 ?表示可选类型Option
var optionalInteger:Int?
var optionalInteger1:Optional<Int>

//可选变量 -数组
var dataArray:([Int])?
//可选变量 -字典
var searchDic:([String:Any])?

//可选变量的声明和初始化赋值 使用?和!都可以声明可选变量
var var1:String? = nil
var var2:String! = "12345"

二,强制解析

使用可选变量的时候需要使用!来解析可选变量里面的值(强制解析 forced unwrapping), 使用!的时候表示这个可选变量里面一定有值,如果可选变量没有提供初始值,那么默认是nil

//使用了?创建的可选变量,解析的时候需要使用强制解析
var userName:String?
userName = "hello swift!"

//如果一个可选类型是包含一个值,那么可以使用操作符!来取这个值
//如果可选类型是个nil, 使用!来获取可选类型里的值会出现错误
//nil值是针对类(class)有用, 而可选类型对所有的类型都有用,并且安全
//要解决这个问题需要先判断可选类型是否是nil
if userName != nil {
   //打印可选变量
   print(userName)
    //打印可选变量里的值
    //我已经确认userName这个可选变量有值
    //所以我可以强制解析(forced unwrapping), !获取可选变量里的值
   print(userName!)
}else{
    print("userName = nil")
}
三,自动解析

使用!声明的可选变量不需要强制解析,所以用!声明的可选变量不需要使用!来解析,而是直接使用,因为已经是自动解析了

var userName1:String!
userName1 = "This is automatic unwrapping!"
print(userName1)
四,可选绑定(optional binding)

1,可选绑定是用来判断可选类型是否包含值的,如果包含就会赋值给一个临时常量或变量
2,可选绑定一般结合使用if或while语句来使用

if let name = userName {
  print("name=\(name)")
}else{
  print("name = nil") 
}

相关文章

  • Swift中的可选变量

    Swift中的可选变量 optional翻译成中文是”可选择的”, 在Swift里它标识一个变量可能为nil.作为...

  • iOS基础-- Swift基础知识总结2(可选变量,结构体,类,

    可选变量: 一. 在Swift中可选类型(Optionals),用 " ? " 号表示, 用于处理值缺失的情况...

  • swift中的可选变量

    一,可选变量的定义 二,强制解析 使用可选变量的时候需要使用!来解析可选变量里面的值(强制解析 forced un...

  • iOS 可选型与泛型

    可选型 在swift中,可选型是为了表达当一个变量值为空的情况。当一个变量值为空时,它就是nil。在swift中,...

  • swift学习目录

    Swift中的一些基础知识 Swift中的常量、变量、可选值 Swift中的控制流(if/三目/switch) S...

  • Swift的可选类型(Optional)—— 解包

    可选类型 ------- Optional swift中引入了可选类型————如果一个常量或变量,它的值可...

  • Swift—可选类型

    * 可选类型表示变量可以有值,也可以没有值* C 和 OC 中并没有可选类型这个概念* Swift 中只有可选类型...

  • swift学习笔记④

    Swift学习笔记 - 文集 语法篇 一、可选类型 Optional Swift 中,常量和变量是不允许赋予 ni...

  • optional可选值

    在Swift中, 变量(常量)可能有值,可能为 nil ,称为可选使用?标识某个值是一个可选值 可选项的值不能直接...

  • Swift学习 day1

    Swift学习 day1 声明变量 使用var进行变量声明: 使用let进行常量声明: 可选类型声明: Swift...

网友评论

    本文标题:swift中的可选变量

    本文链接:https://www.haomeiwen.com/subject/vzfnrftx.html