zoukankan      html  css  js  c++  java
  • 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")

    }

  • 相关阅读:
    异常处理
    添加headers头文件反爬虫
    爬百思不得姐的视频(爬多页时for的循环)
    图片爬取百思不得姐(正则的取法,下载的方法,%s的用法)
    创建一个网页
    集合幂级数总结
    题解(新)
    JOI汉堡肉
    NOIO 2020 r2 总结
    长链剖分
  • 原文地址:https://www.cnblogs.com/foxting/p/4396218.html
Copyright © 2011-2022 走看看