这是我参与「第四届青训营 」笔记创作活动的第13天,进行swift的学习
swift与Objective-c相比,运行速度更快,且更加安全
定义变量用var,定义常量用let
我认为swift属于智能语言,它可以自动推断类型,对其进行赋值的时候也可以自动推断出来
nil代表c语言中的null
可选类型,也就是说这个变量可以是指定的类型,也可以为nil,只需要定义的时候在后面加上 ?
swift语言中也有传统的 for, while控制流
swift中的函数由func定义,函数名后面的括号里定义了要传入的参数的类型和名称, 其后通过 -> 定义函数的返回类型,若为void则不需要 ->
在形参的前面加上 inout, 即定义了此参数为传递地址的参数,通过地址的传递,可以对此变量进行赋值,改变。
在形参的前面加上 _ ,在传递实参时就只需填入常量名,不需要写类型。
swift中的类大致与objective-c相同,都可以使用点语法访问实例的属性,也可以进行赋值。
使用extension对类进行扩展
对原有类添加计算实例属性和计算类型属性
抑或者是为类定义实例方法和类型方法,提供新的init初始化器等等。
swift中的类是引用类型的,copy之后,两个对象变量指向的是同一块内存地址
协议用来规范类的行为和要实现的变量,或者实现一个符合类型的可以用的附加功能。
只要是遵循该协议的类,都要实现协议中的相关代码