swift
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift相关的知识,希望对你有一定的参考价值。
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)问题