加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 07:11:36 所属栏目:百科 来源:网络整理
导读:1. 可选项: ? 声明可选项 var a : Int - 1. 有值(某一类型) someValue 2.nil 注意:可选项不能够直接参与计算 a ! + 10 必须进行强制解包 2. 解决可选项 1 if let :快速赋值 并且判断值的对象是否为空 2 guard let … else 为 nil 时 进入 else 分支

1.可选项:

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

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

2.解决可选项

< 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 >能够被继承

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读