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")

}

 

目录
相关文章
|
6月前
|
Swift iOS开发
9 如何在Swift中使用Optional
如何在Swift中使用Optional
35 2
|
3月前
|
安全 Swift
Swift 语言:什么是可选类型(Optional)?如何处理可选类型的安全解包?
Swift 语言:什么是可选类型(Optional)?如何处理可选类型的安全解包?
31 1
|
Swift C++
Swift-进阶 10:可选类型Optional & Equatable+Comparable协议
Swift-进阶 10:可选类型Optional & Equatable+Comparable协议
275 0
Swift-进阶 10:可选类型Optional & Equatable+Comparable协议
|
Swift
Swift专题讲解十七——Optional链
Swift专题讲解十七——Optional链
109 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特色之一,也是很多初学者不适应的原因之一。
980 0
|
iOS开发 Swift 编译器
Swift 可选值(Optional Values)介绍
Optional的定义 Optional也是Objective-C没有的数据类型,是苹果引入到Swift语言中的全新类型,它的特点就和它的名字一样:可以有值,也可以没有值,当它没有值时,就是nil。
1018 0
|
3月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
91 2

相关课程

更多