嗨,我写的是关于张贴https://appventure.me/2015/10/17/advanced-practical-enum-examples/#sec-4-2
如何在属性的didSet内的观察者模式中使用枚举?我尝试了各种方法,但是对我来说没有太大意义。
有人可以举例说明吗?我试图找出答案,因为该解决方案可能很有趣,并且有助于保持代码的清洁。
这是我正在谈论的帖子的摘录:
观察者模式
在Swift中有多种建模观察的方法。(...)didSet语法使实现简单观察变得容易。此处可以使用枚举,以使观察到的对象发生的更改的类型更清晰。想象一下收集观察。如果我们考虑一下,我们只有两种可能的情况:插入一个或多个项目,删除一个或多个项目,更新一个或多个项目。这听起来像是一个枚举的工作:
enum Change {
case Insertion(items: [Item])
case Deletion(items: [Item])
case Update(items: [Item])
}
然后,观察对象可以非常干净的方式接收发生的具体信息。也可以通过添加oldValue和newValue轻松扩展它。
谢谢
我认为本文打算将句子分别阅读,因为它是关于观察的通用部分。didSet
与简单的实例变量一起使用时,它们建议的枚举将用于包含在集合中观察到的更改的详细信息。枚举很有用,因为您可以打开类型,然后使用内容来了解该更改的详细信息。
您可以使用一个简单的实例变量,以便用一些更改信息来设置枚举值,但这是不合逻辑的,混乱的,这不是一个好方法。枚举更适合于自定义观察,该自定义观察是在定义观察者的回调并由此控制传递的变量的位置进行设置的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句