“集合已修改...”问题

2024-04-09

我有一个函数可以检查对象列表以查看它们是否已被单击并相应地触发 OnClick 事件。我相信该功能工作正常,但我遇到了问题:

当我挂接到其中一个 OnClick 事件并删除该元素并将其插入到列表中的不同位置(该程序的典型功能)时,我收到“集合已修改...”错误。

我相信我明白发生了什么:

  • 该函数在必要时循环触发 OnClick 事件的每个对象
  • 触发事件并且对象根据挂钩函数更改列表中的位置
  • 迭代集合时修改集合会引发异常

我的问题是,如何允许函数迭代所有对象,在适当的时间触发必要的事件,并且仍然为用户提供操作列表中对象位置的选项?


此类问题一般有两种解决方案:

  • 复印一份清单。迭代副本。
  • 列出需要发生的改变。完成迭代后应用更改。

如果您想将进行更改的代码与执行循环的代码分离,“使用索引”选项听起来并不合适。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“集合已修改...”问题 的相关文章

随机推荐

  • windows 8 App从App.xaml.cs访问页面方法

    可能是一个愚蠢的问题 所以我提前道歉 我是构建 Windows 8 应用商店应用程序的新手 当应用程序暂停时 我需要在页面脚本上运行一些方法 我只有一个页面 并且 Page1 xaml cs 文件中有一些公共方法 我想从 App xaml
  • 开发网站时如何处理不同的屏幕分辨率/屏幕尺寸?

    我想使用 jQuery 开发一个适用于所有主流浏览器的网站 我想从基本布局开始 一个页眉 几个包含内容的选项卡和页脚 我想知道应该如何创建这个布局来支持不同的屏幕分辨率 屏幕尺寸或窗口尺寸 在定义组件的宽度和高度时 我应该使用像素 点 百分
  • 如何按组仅保留特定列中具有最低和最高值的行?

    简而言之 我该怎么办 structure list id c 1 2 3 4 5 6 user c 1 1 1 2 2 2 value c 1 3 5 2 5 9 Names c id user value row names c NA 6
  • 如何让 Rosenbrock23 在 ParameterizedFunctions.jl DSL 中使用 ODE?

    进一步这个问题 https stackoverflow com questions 54422068 how to fix typeerror in setindex in differentialequations jl 54423008
  • 从 CodeAttribute 内的参数获取 CodeClass?

    我正在研究一些 T4 代码生成 为此我需要在 BarAttribute 构造函数内传递的类型的 CodeClass class Baz class Bar Attribute public Bar Type type Bar typeof
  • Python pandas 检查数据框是否不为空

    我有一个if语句 它检查数据框是否不为空 我的做法如下 if dataframe empty pass else do something 但我确实需要 if dataframe is not empty do something 我的问题
  • 创建“集合字典”

    我需要将数据有效地存储在类似于 集合字典 的东西中 例如有一个字典 其中包含与每个唯一键匹配的多个 唯一 值 我的数据源是一个 不是很好 结构化的 XML 我的想法是 我将浏览许多元素并找到关键 如果key不存在 则将其添加到字典中 如果已
  • 如何在宏 gcc 中添加警告禁用编译指示

    我需要禁用以下代码中宏 LOG W 内部产生的警告 为此 我将此宏包装在另一个宏 LOG W 中 并禁用了其中的警告 Wold style cast 然后在代码中我使用 LOG W 代替 但是我仍然收到警告并且无法找出原因 任何指示表示赞赏
  • Netty 和字节顺序

    由于文档不完善并且缺乏 Netty 经验 我遇到了一些问题 我不知道如何设置默认的 ByteOrder 我需要一个小尾数法默认设置 如果有人能给我一些关于这方面的提示 我会很高兴 你可以使用Bootstrap setOption 去做这个
  • 为什么使用 Schema.org 微数据来标记网页元素?

    我明白为什么以及如何使用Schema org http schema org 将微数据添加到您的网站 这不是一个问题 问题是为什么 Schema org 支持某些可以用简单 HTML5 标记的内容 其中包括 Types WebPage ht
  • 使用 JavaScript 变量作为函数名?

    我在 Javascript 中有以下代码 jQuery document ready function var actions new Object var actions actions 0 create actions 1 update
  • 如何打开嵌入的资源word文档?

    我的项目中有一个嵌入的 Word 模板文档 我将其添加为资源 Resources resx gt 添加资源 gt 添加现有文件 现在我想打开它 如下所示 Microsoft Office Interop Word Application a
  • 如何使用 JavaScript 源地图(.map 文件)?

    最近我看到文件带有 js map一些 JavaScript 库附带的扩展 例如Angular http code angularjs org 这在我脑海中提出了几个问题 它是做什么用的 为什么 Angular 的人要关心交付一个 js ma
  • 尝试执行 axis2 服务客户端时出现异常

    我正在尝试创建一个示例 axis2 ServiceClient 它抛出以下错误 org apache axiom om OMException No meta factory found for feature default this u
  • 使用故事板时从 UITabbarController 添加/删除或显示/隐藏选项卡栏项目

    我有一个应用程序需要显示不同的内容UITabBarController基于用户是否注册 有没有办法添加和删除ViewControllers 来自 aUITabBarController在运行时 显示和隐藏也很好 在故事板之前你可以打电话se
  • sudo bang bang 到底是什么? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 sudo bang bang 的目的是什么 sudo 什么时候可能需要使用它 砰砰砰 命令是一个快捷方式重复您在终端中输入的上一个命令 当您忘记需要管
  • 无法直接从浏览器访问 Angular 组件

    我有一个使用 Angular 1 5 组件的小型 Web 应用程序 当我启动服务器时 浏览器将我重定向到http 127 0 0 1 50001 欢迎 http 127 0 0 1 50001 welcome 这是预期的 并且欢迎页面出现
  • Python断言风格

    我想知道我所做的是否是一种适当的断言方法 我正在尝试为 Python 的风格指南制作一些既简洁又非常正确的东西 try assert self port number 0 assert self handle None assert isi
  • viewDidLoad() 中的 tableView 数据源为空 - Swift

    下面是我的 ViewController 代码 GetRequest 中的 println 打印从 HTTP GET 请求接收到的正确数据 此时tableData有10个键值对 但是 如果我在 viewDidLoad 中调用 GetRequ
  • “集合已修改...”问题

    我有一个函数可以检查对象列表以查看它们是否已被单击并相应地触发 OnClick 事件 我相信该功能工作正常 但我遇到了问题 当我挂接到其中一个 OnClick 事件并删除该元素并将其插入到列表中的不同位置 该程序的典型功能 时 我收到 集合