美文网首页
可选类型(optionals)

可选类型(optionals)

作者: 陌上北辰 | 来源:发表于2016-11-28 09:45 被阅读36次

    使用可选类型(optionals)来处理 值可能缺失的情况:可选类型表示:

    .有值,等于x

    或者

    .没有值

    let possibleNumber = "123"

    let convertedNumber = (int)possibleNumber

    convertedNumber 被推测为int? 或 类型为 "optional int" 

    上面的代码是将String 转化成Int 

    你可以给变量赋值nil,来表示他没有值:

    var serverResponseCode : Int? = 404

    serverResponseCode =  nil

    注意:nil不能用于非可选的常量和变量。如果你的代码中有常量或者变量需要处理值缺失的情况,请把他们声明成对应的可选类型

    如果你声明一个可选的常量或变量,但是没有赋值,他们会被自动设置为nil

    var sureAnswer:String?

    //sureAnswer 被自动设置为nil

    if语句及强制解析

    你可以使用if语句和nil比较来判断一个可选值,是否包含值。你可以使用“相等”(==)或“不等(!=)”来执行比较

    如果可选类型有值,它将不等于nil

    if converNumber != nil {

    print("convertedNumber contains some integer integer value")

    }

    当你确定可选类型确实有包含值之后,你可以在可选的名字后加“感叹号(!)”来获取值,这个感叹号表示“我知道这个可选值有值。请使用它” 这被称为可选值的强制解析(forced unwrapping);

    注意:

    使用“感叹号(!)”来获取一个不存在的可选值会导致运行时错误。使用!来强制解析前,一定要确认可选值有一个非nil的值

    相关文章

      网友评论

          本文标题:可选类型(optionals)

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