《iOS 移动开发》读书笔记_第四章Swift3.0的进阶内容

函数的格式:func 函数名(参数变量:类型, 参数变量: 类型...) ->返回类型{case; retrun 结果}

转化为浮点型的函数:Double()

参数类型为输入输出参数的代码:inout

函数的嵌套实例:


         func chooseNumber(needBigger: Bool, number1: number2: Int){

            func get smaller(){

            print((number1 < number2)? number1: number2)

            }

             func get getBigger(){

            print((number1 > number2)? number1: number2)

            }

            needBigger ? getBigger: getSmaller

        }


函数的递归用法实例:


        func recursion(n: Int) -> Int {

            if n < 1 {

            return 1

            }else{

            return recursion(n: n-1) + recursion(n: n-2)

             }

        }

        print(recursion(n: 5)  //输出结果:8


绝对值函数:abs()

最小值函数:min()

查找在数组元素中满足指定条件的元素的函数:.filter({条件})

将数组元素中每一个元素通过指定方法进行转换的函数:map({条件})

reduce函数实例:


        var result = (1...4).reduce(0, combine: +)

        print(result)

        result = (1...4).reduce(0, combine: *)

        print(result)


有些变量只有几种取值的选择称为枚举的代码:enum 枚举名称 {}

枚举值的遍历使用的函数:swith

结构体的代码:struct 结构名称 {}

类的代码:class 类名称 {}

类的初始化的代码:init(){}

类的设置与获取的代码:set(){}、get(){}

类的属性观察者的代码:willSet{}、didSet{}

结构体和枚举定义静态方法的关键字:static

类定义静态方法的关键字:class

类的静态方法省去了对类进行?:实例化的步骤

Swift和Objective-C一样通过?实现对实例的内存管理:自动引用计数(ARC)技术

类的继承中子类重写方法的关键字:override

父类的属性、下标或方法不希望被重写的关键字:final

类的延迟加载属性的关键字:lazy

延迟加载的意义:当一个类拥有一个重度且不经常使用的属性时,比如该属性是一个复杂的类,或者属性在初始化时需要从本地或网络加载所需的资源。此时在属性声明前使用lazy关键字,可将该属性标示为延迟加载的属性,只有在使用到该属性时,才会被加载,从而提高程序的运行效率。

Swift环境中,元组、枚举、结构体术语??,而类属于??:值属性;引用属性(实例化赋值)

类型检查_判断类型的关键字:is

类型检查_转换为对应的类型的关键泽:if-let 和 as语句

Swift的不确定的类型:AnyObject (anythings) 和 Any

扩展类型的关键字:extension

扩展功能的意义:动态地给类增加功能

协议的关键字:protocol

可选性Optional类型的可以为空的关键字:?

可选性Optional类型的不可以为空的关键字:!






你可能感兴趣的:(《iOS 移动开发》读书笔记_第四章Swift3.0的进阶内容)