美文网首页
swift中一些特殊的语法

swift中一些特殊的语法

作者: Keep_FighterLS | 来源:发表于2015-12-30 11:06 被阅读156次

    最近在看swift写的一个播放器demo代码,顺便学习下swift。先把Demo放在下面,方便以后查找。

    36kr原作者的Demo: VideoPlayer-网易播放器的风格十分类似Demo


    看代码遇到不懂的查的几个blog,几个博主说的都很清晰。列在下面,方便记录。

    Swift惰性初始化(lazy)属性
    Swift中的willSet与didSet
    Swift的Guard语句
    Swift控制流: 如何理解 if let 与guard?
    Swift之?和!


    swift问题:
    1. swift中的let和var什么区别?

      “Use let to make a constant and var to make a variable.”
      -----摘录来自: Apple Inc. “The Swift Programming Language”。 iBooks.

    2. ?和!区别?

    var strValue : String? 在变量后面加?相当于赋予一个初始值。
    而!表示“我确定这里的的var一定是非nil的,尽情调用吧”,如果确定变量非nil,才可以使用,例如:

    var stringValue : String?
    //确定非nil,就可以使用
    if (stringValue != nil)
    {
      let hashValue = stringValue!.hashValue
    }
    //同样可以使用optional banding ,代码更加简洁
    if let str=stringValue
    {
      let hashValue = str.hashValue
    }
    
    1. as是做什么用的?as?和as!

    as操作符用来把某个实例转型为另外的类型,由于实例转型可能失败,因此Swift为as操作符提供了两种形式:选项形式as?和强制形式as!

    1. willSet和didSet可以监听变量,非常有用的一个功能。参考博客:Swift中的willSet与didSet

    5.Swift中下划线的妙用

    相关文章

      网友评论

          本文标题:swift中一些特殊的语法

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