swift

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift相关的知识,希望对你有一定的参考价值。

 

 

 

 

The Swift Programming Language (Swift 2.2) 官方

The Swift Programming Language 中文版

 

 Swift开发语法 简书

  • 从OC转换为Swift的规律: alloc initXXX --> (xxxx:)
    OC: [[UIView alloc] init] -- [[UIView alloc] initWithFrame:]
    Swift: UIView() -- UIView(frame: )
  • 分号
    • 在OC中每一条语句后面必须跟上一个;, Swift中如果一行只有一条语句, 那么;可以省略
  • 调用方法
    OC: [UIColor redColor];
    Swift: UIColor.redColor()
  • var 定义变量,设置之后可以修改
  • let 定义常量,设置之后不可以修改
  • 语句末尾不用使用 ;
  • 在 Swift 中使用 print() 替代 OC 中的 NSLog
  • print 的性能更好
  • Swift 是对类型要求非常严格的一门语言,一个值永远不会被自动转换成其他类型
  • 在Swift开发中, 一般情况下先用let, 只要需要修改数据时才用var, 使用let的好处, 可以避免数据被修改, 可以保证数据安全性

  OC中有显示转换和隐式转换 double value = 10.1 + 9

  Swift中只有显示转换没有隐式转换, 也就是说只有相同类型的数据才能进行赋值和计算

  • 只要将多个相同或者不同的数据用()括起来就是元祖
  • 优点: 在以前没有元祖之前C和OC语言是通过传入指针或者返回结构体的方式来返回多个值的,而有了元祖之后就可以实现让一个函数返回多个值

什么是可选类型: 一个变量可以有值也可以没有值, 我们就称之为可选类型

  • 在Swift中如果使用一个可选类型的变量/常量, 必须解包操作
    • 解包: 只需要在变量/常量后面加上 !
    • !含义: 代表告诉系统该变量/常量中一定有值, 如果强制解包一个没有值的常量/变量,那么会报错

如果有 ? 表示改方法有可能无法实例化到正确的对象

  • ?? 是一个非常有用的操作符,能够快速对 nil 进行判断
  • 如果对象是 nil,则使用 ?? 后面的值代替前面的 nil 值参与计算

单例: static let shareInstance: NetworkTools = NetworkTools()

 

以上是关于swift的主要内容,如果未能解决你的问题,请参考以下文章

如何将这个 Objective-C 代码片段写入 Swift?

如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

swift 为什么我们有一个片段。我认为这有助于我们在另一个页面中有一个代码。

swift BaasBox和Swift的片段 - 第2部分