100 Days of SwiftUI —— Day 80:潜力客户名单 (二)

100 Days of SwiftUI —— Day 80:潜力客户名单 (二)_第1张图片

今天,您将以Swift的Result类型的形式处理一个棘手的概念,但是为了平衡起见,我们也将介绍两个更简单的概念,因此您今天不会有太多工作。

Swift的Result类型用于解决问题,当您知道事物A可能为真或事物B可能为真,但在任何给定时间都可以正确为真时。如果您将它们想象成布尔属性,那么每个都有两个状态(对与错),但它们总共具有四个状态:

  1. A 假,B 假
  2. A 真,B 假
  3. A 假,B 真
  4. A 真,B 真

如果您确定选项1和4永远不可能——A或B必须为真,但两者都不能为真——那么您可以立即将逻辑的复杂性减半。

美国作家Ursula K Le Guin曾经说过:

唯一使生命成为可能的是永久的,无法忍受的,不确定性,不知道下一步会发生什么。

the only thing that makes life possible is permanent, intolerable uncertainty; not knowing what comes next


100 Days of SwiftUI —— Day 80:潜力客户名单 (二)_第2张图片
from Ursula K Le Guin

好的软件绝对是相反的:我们能执行的确定性越强,能应用的约束越多,我们的代码就越安全,Swift编译器就能为我们做更多的工作。

所以,尽管Result需要你将逃逸闭包作为传入的参数,但回报是更智能、更简单、更安全的好——完全值得。

今天,您需要处理三个主题,在其中您将了解ResultobjectWillChange和图像插值。

  • 了解 Swift 的 Result 类型
  • 手动发布 ObservableObject 更改
  • 控制图像插值

你可能感兴趣的:(100 Days of SwiftUI —— Day 80:潜力客户名单 (二))