美文网首页
swift学习笔记之二---基础部分

swift学习笔记之二---基础部分

作者: JefferySun | 来源:发表于2016-04-05 15:15 被阅读0次

    数据类型

    1.基础数据类型:Int Double Float Bool String
    2.集合类型:Array Set Dictionary
    3.其他:
    元组:(用于函数返回多个值)
    可选类型(Optional):

     let possibleNumber = "test"
    let convertedNumber = Int(possibleNumber)
    // convertedNumber 被推测为类型 "Int?", 或者类型 "optional Int"
    

    1.一个可选的Int被写作Int?而不是Int。问号暗示包含的值是可选类型,也就是说可能包含Int值也可能不包含值。
    2.nil不能用于非可选的常量和变量。如果你的代码中有常量或者变量需要处理值缺失的情况,请把它们声明成对应的可选类型
    3.一个可选的Int被写作Int?而不是Int。问号暗示包含的值是可选类型,也就是说可能包含Int值也可能不包含值。

    let possibleString: String? = "An optional string."
    let forcedString: String = possibleString! // 需要惊叹号来获取值
    

    断言

    可选类型可以让你判断值是否存在,你可以在代码中优雅地处理值缺失的情况。然而,在某些情况下,如果值缺失或者值并不满足特定的条件,你的代码可能没办法继续执行。这时,你可以在你的代码中触发一个断言(assertion)来结束代码运行并通过调试来找到值缺失的原因

    使用全局assert(_:_file:line:)函数来写一个断言。向这个函数传入一个结果为true或者false的表达式以及一条信息,当表达式的结果为false的时候这条信息会被显示:

    let age = -3
    assert(age >= 0, "A person's age cannot be less than zero")
    // 因为 age < 0,所以断言会触发
    

    如果不需要断言信息,可以省略,就像这样:asset(age >= 0)
    断言的适用场景:

    • 整数类型的下标索引被传入一个自定义下标实现,但是下标索引值可能太小或者太大。
    • 需要给函数传入一个值,但是非法的值可能导致函数不能正常执行。
    • 一个可选值现在是nil,但是后面的代码运行需要一个非nil值。

    注意:
    1.当代码使用优化编译的时候,断言将会被禁用,例如在 Xcode 中,使用默认的 target Release 配置选项来 build 时,断言会被禁用
    2.当代码使用优化编译的时候,断言将会被禁用,例如在 Xcode 中,使用默认的 target Release 配置选项来 build 时,断言会被禁用

    相关文章

      网友评论

          本文标题:swift学习笔记之二---基础部分

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