欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

swift Tips(version2.0+ xcode7.0+)

程序员文章站 2022-04-13 11:44:47
...

swift Tips(version2.0+ xcode7.0+)


swift Tips(version2.0+ xcode7.0+)
 

swift Tips(version2.0+ xcode7.0+)打印多重Optional

 

        var literalNil: String?? = nil

对于上面变量po只会输出nil

(lldb) po literalNil

 

nil

但使用 fr v -r 或 fr v -R 可以打印详细信息

(lldb) fr v -r  literalNil

 

(String??) literalNil = nil

(lldb) fr v -R  literalNil

(Swift.Optional<Swift.Optional<Swift.String>>) literalNil = None {

  Some = Some {

    Some = {

      _core = {

        _baseAddress = {

          _rawValue = 0x0000000000000000

        }

        _countAndFlags = {

          value = 0

        }

        _owner = None {

          Some = {

            instance_type = 0x0000000000000000

          }

        }

      }

    }

  }

 

}

 swift Tips(version2.0+ xcode7.0+)Protocol扩展


swift Tips(version2.0+ xcode7.0+)
 swift Tips(version2.0+ xcode7.0+)Swift 2.2

已将协议中 associated types 的关键字由 typealias 替换为 associatedtype

 

swift Tips(version2.0+ xcode7.0+) Swift 2.2

 ==比较符支持元组类型

 

swift Tips(version2.0+ xcode7.0+)Swift 2.2

增加#if swift 语法判断当前swift版本

#if swift(>=2.2)

#else

#endif

 

 swift Tips(version2.0+ xcode7.0+)Swift 2.2

从 Swift 2.2 开始我们使用 #selector 来从暴露给 Objective-C 的代码中获取一个 selector。类似地,在 Swift 里对应原来 SEL 的类型是一个叫做 Selector 的结构体。

 

 swift Tips(version2.0+ xcode7.0+)Swift 2.2

func 参数修饰var废弃,若要参数还是可变的话只能使用inout关键字

 

 swift Tips(version2.0+ xcode7.0+)Swift 2.2

 #file#line#column#function编译标记替代原来的 __FILE__  __LINE__ __COLUMN__ __FUNCTION__