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

    }

  • 相关阅读:
    java.io.Serializable浅析
    SSH和SSM的区别
    [转]github详细教程
    GITHUB的使用
    常用端口-小结
    DNS的解析原理
    windows快捷键-小结
    ip地址0.0.0.0是什么意思
    windows插件框架下载地址
    redis和mongodb
  • 原文地址:https://www.cnblogs.com/foxting/p/4396218.html
Copyright © 2020-2023  润新知