• 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

  • 相关阅读:
    在Servlet中使用JSON
    Servlet中Web.xml的配置详解
    项目人力资源管理的思考
    CRLF和LF
    Linux 时区变化
    开始 space viking 之旅
    HTML的标签canvas
    问题解决了——在虚拟机上测试串口软件 您会收到错误数据
    Very Deep Convolutional Networks for Large-Scale Image Recognition
    MapReduce的InputFormat学习过程
  • 原文地址:https://www.cnblogs.com/fanxinguu/p/4909725.html
Copyright © 2020-2023  润新知