SwiftUI视图onReceive方法接收“冗余”事件的解决

在这里插入图片描述

概述

大家知道,SwiftUI为我们提供了方便的onReceive修改器方法,来接收外部发布器发送的事件。

但有些情况,我们需要屏蔽一些无关的“冗余”事件。

比如,SwiftUI中的Picker绑定的值对应的发布器,总会在Picker创建时发送一次事件,这是我们不想要的:

在这里插入图片描述

如上所示,Picker视图可由用户按需创建,但每次其创建时都会发送一次绑定属性的变更事件。

如何避免接收到这个“无用”的事件呢?

其实,只需代码上一个小小的修改,我们即可完美修复这个问题!

Let’s go!


源代码重现

于此相关的源代码如下:

@objc(BSUToday)
public 

猜你喜欢

转载自blog.csdn.net/mydo/article/details/125764056
今日推荐