Swift中可选项、闭包、便利构造函数的相关问题

1.可选项:闭包

  声明可选项  var a Int -> 1.有值(某一类型)someValue  2.nil函数

注意:可选项不可以直接参与计算     a 10  必须进行强制解包spa

2.解决可选项orm

< 1 > if let:快速赋值  而且判断值的对象是否为空对象

< 2 > guard let … else   nil  进入else分支  if  let用法相反   可以减小一层分支嵌套继承

< 3 > ?? (适用于 基本数据类型和字符串类型的可选项)快速合并空选项 —> 快速判断可选项是否为nil   若是为nil  给定为nil 状况下的默认值生命周期

3.闭包字符串

闭包最基本类型:  ()-> ()变量

闭包使用场景   GCD结合使用循环

3.1闭包的基本特性:

1>闭包是提早准备好的一段代码块

2>能够当参数传递

3>在须要回调的地方 执行闭包   完成结果的回调

4>在闭包中使用self  有可能产生循环引用

注意:(1)闭包中使用self

2)闭包看成函数的参数进行传递   该参数  被一个比临时变量生命周期更长的变量保存记录  使用生命周期更长的变量完成后续的回调操做   这时才会产生循环引用   

4.便利构造函数

self的形式调用指定的构造函数

< 1 >能够失败   能够return nil

< 2 >仍是一个构造函数   必须使用self的形式来调用指定的构造函数  必须依赖于其余的构造函数来构造对象

< 3 >不可以被重写  也不可以被super

< 4 >可以被继承

相关文章
相关标签/搜索