## 主要介绍函数以及类的定义,结构体及枚举的定义
Swift语言第二天
###可选类型的应用场景;
创建方式:
查看是否是可变还是不可变的:
监听系统类属性的改变,用KVO,
##可选类型的应用场景
1.基本书写格式
2.其他的一些使用场景
###类型转换使用
is as as! as? 四种类型
1.is 用来判断是否是某种类型
2.as 最直接的是 OC的NSString 与 String 的转换
3. 将NSObject转成确定的类型的可选类型
4.将NSObject类型转换成确定的类型,若果是转成确定的类型,那么转换不成功,那么程序就会崩溃
###函数的基本使用
1.没有参数没有返回值的函数
2.有参数, 没有返回值的函数 +86
3. 没有参数, 有返回值的函数
4. 有参数有返回值的函数
### 内部参数&外部参数
1.什么内部参数名称
1> 在函数内部可以看到的标识符就是内部参数
2> 默认情况下, 所有的参数都是内部参数
2.什么外部参数名称
1> 在函数外部可以看到的标识符就是外部参数
2> 从第二个参数开始, 都是外部参数. 但是第一参数默认不是外部参数
3> 如果希望第一个参数可以也是外部参数, 那么可以第一个参数的标识符前, 加上第一个参数的外部参数名称
4> 如果希望后面的参数不是外部参数, 可以在标识符前加上 _
##函数的特殊用法:
当有参数有返回值得时候;如果想要他默认打印出某一个值;
### 函数中可变参数的应用
当有多个相同参数的时候,需要用到可变参数
###函数的特殊用法
指针参数
在参数前面必须加上 inout 才可以
###swift 中枚举值的定义
###枚举值得扩充点
枚举赋值 : 整形 和 字符串类型的区别
###结构体,自定义结构体
// 给自己的结构体扩充构造函数
// 1.如果没有自定义构造函数, 那么系统也会提供一个默认的构造函数
// 如果有自定义构造函数, 那么会覆盖掉系统的构造函数. 如果不希望被覆盖, 则需要明确的实现
##结构体的扩充点
###类的定义 很重要哦~
###类的属性定义:
三种定义方式:
1.存储属性: 存储一些值
2.计算属性:通过某种方式计算得到结果的属性就是计算属性
3. 类属性:和整个类相关的属性,并且是通过类名访问
3.1 注意点:类属性的定义是 前面 使用static 修饰
###监听属性的变
###类的构造函数
为什么要这么做??
是为了一开始就让对象就有初始值
1.本身系统就提供了构造方法:但是我想要自己定义构造方法,覆盖系统的构造方法
###题外补充知识点:
在OC中,我一般使用kvc,是用来监听某个属性的改变,才用KVC,或者字典转模型
注意点:使用KVC必须要用继承自NSObject
如果在函数中使用,那么必须先调用super.init()