概述

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

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

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

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

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

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

Let’s go!


源代码重现

于此相关的源代码如下:

@objc(BSUToday)
public 

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

  1. 【EventBus】事件通信框架 ( 订阅类-订阅方法缓存集合 | 事件类型-订阅者集合 | 订阅对象-事件类型集合 )

    文章目录 前言 一.订阅类-订阅方法缓存集合 二.事件类型-订阅者集合 三.订阅对象-事件类型集合 前言 首先声明几个数据结构 , 参考 [EventBus]EventBus 源码解析 ( 注册订阅者 ...

  2. android时间接收器,android – 在飞机模式关闭/打开后,广播接收器在onReceive()中接收的时间太长...

    我创建了一个简单的广播接收器,它工作得很好,除非我打开/关闭空中飞机模式,使用onReceive方法接收广播消息需要将近2分钟.另一件事是,如果我们启动应用程序然后如果我更改Air plane模式(开 ...

  3. 关于高德地图地理围栏生成后在BroadcastReceiver的onReceive方法中没有接收到消息的问题

    昨天收到一个bug,说是地理围栏功能突然在部分手机上不能使用了,关键是好久没动过这块代码了(程序员的第一反映,这块代码好久没动过了,怎么会出错呢),我赶紧查找到相关代码进行查看发现没有报错,进一步调试 ...

  4. 【EventBus】事件通信框架 ( 订阅方法注册 | 注册 事件类型 - 订阅类 + 订阅方法 到指定集合 | 取消注册 数据准备 )

    文章目录 一.注册订阅方法 二.完整代码示例 一.注册订阅方法 订阅方法注册的过程就是将 订阅方法参数类型 和 订阅类 + 订阅方法 封装类 , 保存到 Map<Class<?>, ...

  5. 特定视图呈现时发生的事件顺序

    特定视图呈现时发生的事件顺序: 动作方法返回的ViewResult执行 ViewResult 使用ViewEngineCollection查找视图 ViewEngineCollection给每个注册的 ...

  6. 解决Qt graphis-view框架中,上层图元接收hover事件导致底层图元接收不到的问题

    问题重现 两个图元,一个在上面,名为item_up,一个在下面,名为item_below. 当item_up->setAcceptHoverEvents(true)时,item_up可以接收到鼠 ...

  7. 微信公众号三方平台开发【代微信公众号接收消息事件并响应】

    今天要讲的是代微信公众号接收消息并进行回复,这里要用到的就是咱们之前在微信公众号三方平台开发[帐号注册.平台创建]里写到的"公众号消息与事件接收URL",在接收的目标方法里,我们首 ...

  8. android motionevent 坐标,Android坐标系、视图坐标系与触控事件(MotionEvent)

    前言:本篇文章讲解Android坐标系.视图坐标系与触控事件(MotionEvent) 一. Android 的坐标系:#### 在Android中,将屏幕左上角的定点座位Android坐标系的原点, ...

  9. SwiftUI 代码速查之 06 设置SwiftUI backgroundColor的方法与foregroundColor相同

    设置SwiftUI backgroundColor的方法与foregroundColor相同 SwiftUI有一个称为的修饰符很有用,.background()这样您就可以在当前视图后面添加任何类型的 ...

最新文章

  1. 全中了!接手同事项目时最崩溃的事 | 每日趣闻
  2. 【Mybatis 之应用篇】 3_Lombok、多对一处理和一对多处理
  3. GitLab添加SSH Keys并连接(windows)
  4. 如何设置树莓派 VNC 的分辨率
  5. web模块化规范和实现
  6. 链表和顺序表的一些区别
  7. vb 打印机 任意尺寸_创新小黑管“省心省力”惠普Laser NS 1020 智能闪充激光打印机...
  8. 【windows】windows操作系统安全加固
  9. 很久以前的C语言笔记
  10. 第19集 轮廓的提取
  11. 微信小程序—Flex布局
  12. MD5摘要算法的几种解密方法,分享md5免费解密网站
  13. 单个像素代表的实际物理尺寸
  14. 360极速浏览器更换背景颜色
  15. Windows11 安装安卓子系统详细教程
  16. https://www.jb51.net/article/146628.htm
  17. php网站系统设计的原则,php设计模式的六大原则(一):单一职责原则
  18. CODING 携手 Thoughtworks 助力老百姓大药房打造”自治、自决、自动”的敏捷文化
  19. Windows 服务器刷题(带答案)
  20. python中一切内容都可以称为_Python中对象的概念很广泛,Python中的一切内容都可以称为 。...

热门文章

  1. 5.8G低功耗雷达感应,雨水树叶算法技术,提高雷达感应性能
  2. boost库中优秀的网络库asio
  3. 如何将Web报表设计器FastReport Online Designer 更新到最新版本?
  4. 如何使输入框input只能输入数字
  5. 记录mars3d的使用 - geojson图层
  6. 机器学习-白板推导系列笔记(三十四)-MDP
  7. 虚拟机开机黑屏(硬盘空间不足)
  8. 江苏五年制专转本应该复习几轮
  9. 抠图换背景用什么软件好?快把这些软件收好
  10. Debian的终端界面