zoukankan      html  css  js  c++  java
  • swift晋级之路

          做oc开发也有差不多一年的时间了,最近事件不是特别紧,也是时候来学习一下swift了,虽然swift api和oc是一样的但是还是有好多语法上的区别,最近在看网易公开课上得斯坦福的ios开发课程也会持续更新一下课程内容

          optional类,也就是可选类型,optional是oc中没有的类型,是swift引进的一种全新的类型,他得特点是可以有值,也可以没有值,当它没有值的时候就是nil,swift的nil和oc中的也是不一样的,oc中只有对象才能为nil,而在swift中,当基础类型没有值的时候也是nil,而不是一个初始值,没有初始值就不能使用,这就产生了optional类型,optiona类和非optional类的区别就是:optional值未经初始化虽然为nil,但是普通变量连nil都没有: 

       

    其实optional是一个枚举值

    enum Optional<T> : Reflectable, NilLiteralConvertible {

        case None

        case Some(T)

        init()

        init(_ some: T)

        /// Haskell's fmap, which was mis-named

        func map<U>(f: (T) -> U) -> U?

        func getMirror() -> MirrorType

        static func convertFromNilLiteral() -> T?

    }

    当optional没有值的时候返回optional。None

  • 相关阅读:
    BUAA_OO_2020_Unit3 Summary
    BUAA_OO_2020_Unit2 Summary
    DataFrame的遍历
    ESMM提升CVR的论文summary
    FaceBook 关于提升CTR的论文研究
    OO终章·GRAND BATTLE
    第三单元规格作业博客总结
    OO电梯单元作业总结
    【OO多项式求导作业总结】
    提问回顾与个人总结
  • 原文地址:https://www.cnblogs.com/fanxinguu/p/4909725.html
Copyright © 2011-2022 走看看