SwiftUI视图onReceive方法接收“冗余”事件的解决
Posted 大熊猫侯佩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SwiftUI视图onReceive方法接收“冗余”事件的解决相关的知识,希望对你有一定的参考价值。
概述
大家知道,SwiftUI为我们提供了方便的onReceive修改器方法,来接收外部发布器发送的事件。
但有些情况,我们需要屏蔽一些无关的“冗余”事件。
比如,SwiftUI中的Picker绑定的值对应的发布器,总会在Picker创建时发送一次事件,这是我们不想要的:
如上所示,Picker视图可由用户按需创建,但每次其创建时都会发送一次绑定属性的变更事件。
如何避免接收到这个“无用”的事件呢?
其实,只需代码上一个小小的修改,我们即可完美修复这个问题!
Let’s go!
源代码重现
于此相关的源代码如下:
@objc(BSUToday)
public
以上是关于SwiftUI视图onReceive方法接收“冗余”事件的解决的主要内容,如果未能解决你的问题,请参考以下文章
当 ObservedObject 更改时,在 SwiftUI 视图中未调用 onReceive