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

swift3.1 快速上手系列(三)

发布时间:2020-12-14 06:14:27 所属栏目:百科 来源:网络整理
导读:swift 3.x 还在学习中,swift 4 的脚步就已到来。生活就是这样,必须保持不断学习的劲头,才能在这年轻的战场上脱颖而出。但要说明的是,swift 各种版本的更新与迭代,都是向着更简洁、更方便、更强大发展,让 IOS 开发更优雅。 1. 遍历构造函数 convenience

swift 3.x 还在学习中,swift 4 的脚步就已到来。生活就是这样,必须保持不断学习的劲头,才能在这年轻的战场上脱颖而出。但要说明的是,swift 各种版本的更新与迭代,都是向着更简洁、更方便、更强大发展,让 IOS 开发更优雅。

1. 遍历构造函数 convenience

默认情况下,所有的构造方法都是指定构造函数 Designated,使用 convenience 修饰的构造函数叫做便利构造函数,便利构造函数通常在对系统的类进行构造函数的扩充时使用。

遍历构造函数的特点:
(1)便利构造函数通常是写在 extension 中;
(2)在便利构造函数中需要明确调用 self.init(),只有便利构造函数中可以调用 self.init();
(3)便利构造函数不能被重写或者 super;
(4)便利构造函数可以返回 nil。

2. swift 懒加载

常规写法:

lazy var name: String = {
    return "FG"
}()

完整写法:

lazy var name: String = { () -> String i
    return "FG"
}()

本质是一个创建一个闭包 {} 并且在调用该属性时执行闭包 () 。

与 OC 的懒加载不同的是 swift 懒加载闭包只调用一次,再次调用该属性时因为属性已经创建,不再执行闭包。

3. swift 计算型属性

常规写法:

var name: string {
    return "FG"
}

完整写法:

var name: string {
    get {
        return "FG"
    }
}

计算型属性本质是重写了 get 方法,其类似一个无参有返回值函数,每次调用该属性都会执行 return。

swift 中懒加载与计算型属性的对比

相同点
(1)使用方法基本一致;
(2)都是用 var 声明。

不同点
实现原理不同

(1)懒加载是第一次调用属性时执行闭包进行赋值;
(2)计算型属性是重写 get 方法。

调用 {} 的次数不同

懒加载的闭包只在属性第一次调用时执行 计算型属性每次调用都要进入 {} 中, return 新的值。

(编辑:李大同)

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

    推荐文章
      热点阅读