WWDC 20 `@StateObject` 和 `@ObservedObject` 区别

在WWDC 20 新增了 @StateObject , @StateObject 基本上来说就是一个针对 class 的 @State 升级版

他们的区别简单而言就是:

使用 @ObservedObject 修饰的属性会随着View更新重新创建,而 @StateObject 修饰的属性不会随着 View 更新被重新创建。

Read more   2020/9/27 posted in  SwiftUI

斯坦福大学 SwiftUI 教程

2020/9/15 posted in  SwiftUI

Swift 的 Future 和 Promise

Future&Promise 来源于函数式语言,概念早在 1977 年就已经提出来了。其目的是分离一个值和产生值的方法,从而简化异步代码的处理。
Future 是一个只读的值的容器,它的值在未来某个时刻会被计算出来(产生这个值的行为是异步操作)。
Promise 是一个可写的容器,可以设置 Future 的值。

A Promise is something you make to someone else.(承诺是你对别人的承诺)
In the Future you may choose to honor (resolve) that promise, or reject it.(在未来,您可以选择兑现(解决)该承诺,或拒绝承诺。)

Read more   2020/9/13 posted in  SwiftUI

Publisher 的使用

2020/8/26 posted in  SwiftUI

Combine处理异步编程

“响应式异步编程的抽象和特点:异步操作在合适的时机发布事件,这些事件带有数据,使用一个或多个操作来处理这些事件以及内部的数据。在末端,使用一个订阅者来“消化”这个事件和数据,并进一步驱动程序的其他部分 (比如 UI 界面) 的运行。上面这些对于事件和数据的操作,以及末端的订阅,都是在事件发生之前完成的。一开始我们就将这些设定好,之后它可以以预设的方式响应源源不断发生的事件流。”

摘录来自: 王 巍. “SwiftUI 和 Combine 编程。” Apple Books.

Combine

Combine中最重要的角色有三种: 负责发布事件的 Publisher,负责订阅事件的 Subscriber,以及负责转换事件和数据的 Operator。

Read more   2020/8/23 posted in  SwiftUI

SwiftUI 数据流

“纯函数指的是,返回值只由调用时的参数决定,而不依赖于任何系统状态,也不改变其作用域之外的变量状态的函数”

摘录来自: 王 巍. “SwiftUI 和 Combine 编程。” Apple Books.

Read more   2020/8/23 posted in  SwiftUI

SwiftUI基础知识以及Xcode功能

Modifier

view modifier 分为两种类别:

  • 像是 font,foregroundColor 这样定义在具体类型 (比如例中的 Text) 上,然后返回同样类型 (Text) 的原地 modifier。

  • 像是 padding,background 这样定义在 View extension 中,将原来的 View 进行包装并返回新的 View 的封装类 modifier。”

摘录来自: 王 巍. “SwiftUI 和 Combine 编程。” Apple Books.

Read more   2020/8/5 posted in  SwiftUI