swift的闭包函数,重写set和get,界面传值和单例写法

Swift对于初学者来说也很友好。它是第一个既满足工业标准又像脚本语言一样充满表现力和趣味的编程语言。它支持代码预览,这个革命性的特性可以允许程序员在不编译和运行应用程序的前提下运行Swift代码并实时查看结果。

Swift将现代编程语言的精华和苹果工程师文化的智慧结合了起来。编译器对性能进行了优化,编程语言对开发进行了优化,两者互不干扰,鱼与熊掌兼得。Swift即可以用于开发“hello, world”这样的小程序,也可以用于开发一个完整的操作系统。所有的这些特性让Swift对于开发者和苹果来说都是一项值得的投资。

闭包函数

首先的话我们需要声明一个闭包函数

对闭包函数的调用,并且带有一个参数, 这个也是界面传值得一种方式

调用闭包函数之后,修改上个界面的值

swift的闭包函数,重写set和get,界面传值和单例写法_第1张图片

定义闭包函数的参数类型和闭包函数的数据返回类型

接下来定义一个求和的闭包函数,传入a和b两个参数。

swift的闭包函数,重写set和get,界面传值和单例写法_第2张图片

重写set和get方法


定义一个text的属性,在swift中有willSet和didSet,在didSet里面可以进行属性赋值和进行一些刷新UI的操作。但是如果你只return一个值,他的属性就相当于readonly的操作了。

swift的闭包函数,重写set和get,界面传值和单例写法_第3张图片

单例的写法

至于单例的写法,下面已经写的很清楚了,第一种是属性创建单例,第二种是结构体方法,第三中的话,就跟OC的写法很相似了,就不说了。

swift的闭包函数,重写set和get,界面传值和单例写法_第4张图片

界面传值

使用代理传值一对一

swift的闭包函数,重写set和get,界面传值和单例写法_第5张图片

在需要使用的地方调用代理方法

剩下的就跟OC差不多了,实现他们的代理协议,调用代理方法

至于闭包函数的循环引用问题我们可以采用[unowned self]或者[weak self]这样的方式来实现解决内存无法被释放的问题。

你可能感兴趣的:(swift的闭包函数,重写set和get,界面传值和单例写法)