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

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

概述swift 3.x 还在学习中,swift 4 的脚步就已到来。生活就是这样,必须保持不断学习的劲头,才能在这年轻的战场上脱颖而出。但要说明的是,swift 各种版本的更新与迭代,都是向着更简洁、更方便、更强大发展,让 IOS 开发更优雅。 1. 遍历构造函数 convenience 默认情况下,所有的构造方法都是指定构造函数 Designated,使用 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 新的值。

总结

以上是内存溢出为你收集整理的swift3.1 快速上手系列(三)全部内容,希望文章能够帮你解决swift3.1 快速上手系列(三)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1061745.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存