SWIFT Optional Value

简介: SWIFT中有一个类型定义叫可选值,在变量类型后面加一个?号即可定义一个类型为Optional Value的变量,当在使用变量时要用到强制解包!.  如在页面上有一个可选输入年龄的框,在接受数据的时间就可能要定义一个可选值的变量.

 SWIFT中有一个类型定义叫可选值,在变量类型后面加一个?号即可定义一个类型为Optional Value的变量,当在使用变量时要用到强制解包!.

 如在页面上有一个可选输入年龄的框,在接受数据的时间就可能要定义一个可选值的变量. 

 var age:Int? = 10

 var str:String = "Age is "+String(age!)

 以下为从一个数组中取数据,然后判断是否存在值 

  var numberOfLegs = ["ant":6, "snake":0, "dog":4]

  var possibleLegCount:Int? = numberOfLegs["fish"] //没有找到相应的键值将会返回nil

  判断possibleLegCount是否是nil

  if possibleLegCount == nil{

    println("not found")

  }else{

    var legCount = possibleLegCount! //强制解包

    println("fish's legs is \(legCount)")

    println("fish's legs is \(possibleLegCount)")  //用这种占位方式会自动解包

}

 

  此时的possibleLegCount一定要是Optional Value类型,否则会报错.此时程序将会验证可选值是否可以正常解包,正常的话将会把值解包后赋值给legCount变量 

  if let legCount = possibleLegCount { 

    println("fish's legs is \(legCount)")

}

 另外SWIFT中的可能值类型其实是一个Enumeration,如下代码将会打印"My name is Ken",如果将myName的值去掉将会打印"I don't have name"

var myName:String? = "Ken"

switch myName{

case .Some(let name):

    println("My name is \(name)")

case nil:

    println("I don't have name ")

default:

    println("default")

}

 

目录
相关文章
|
Swift iOS开发
9 如何在Swift中使用Optional
如何在Swift中使用Optional
67 2
|
6月前
|
安全 Swift
Swift 语言:什么是可选类型(Optional)?如何处理可选类型的安全解包?
Swift的可选类型是处理值可能缺失的类,用?表示。它们能表示有值或无值状态。安全解包用`if let`或`guard let`避免崩溃,而强制解包`!`则风险较高,若值为`nil`会触发运行时错误。
46 0
|
Swift C++
Swift-进阶 10:可选类型Optional & Equatable+Comparable协议
Swift-进阶 10:可选类型Optional & Equatable+Comparable协议
341 0
Swift-进阶 10:可选类型Optional & Equatable+Comparable协议
|
Swift
Swift专题讲解十七——Optional链
Swift专题讲解十七——Optional链
123 0
|
安全 Swift iOS开发
swift4.1 系统学习九 Optional
// // main.swift // swift09 // // Created by iOS on 2018/9/29. // Copyright © 2018年 weiman. All rights reserved. // import Foundation // swift学习笔记9 /* Optional:可选类型 ? 可选类型是swift特色之一,也是很多初学者不适应的原因之一。
1014 0
|
iOS开发 Swift 编译器
Swift 可选值(Optional Values)介绍
Optional的定义 Optional也是Objective-C没有的数据类型,是苹果引入到Swift语言中的全新类型,它的特点就和它的名字一样:可以有值,也可以没有值,当它没有值时,就是nil。
1060 0
|
4月前
|
Unix 调度 Swift
苹果iOS新手开发之Swift 中获取时间戳有哪些方式?
在Swift中获取时间戳有四种常见方式:1) 使用`Date`对象获取秒级或毫秒级时间戳;2) 通过`CFAbsoluteTimeGetCurrent`获取Core Foundation的秒数,需转换为Unix时间戳;3) 使用`DispatchTime.now()`获取纳秒级精度的调度时间点;4) `ProcessInfo`提供设备启动后的秒数,不表示绝对时间。不同方法适用于不同的精度和场景需求。
131 3