【问题标题】:Run 2 function same times in unit test for IOS在 IOS 的单元测试中同时运行 2 个函数
【发布时间】:2018-07-27 03:54:14
【问题描述】:

我有一个关于在单元测试中同时运行函数的问题。

我有 1 个数组 A 在 ViewContronller 中是全局的。

  • 1 个函数 B 将数据更新到此数组。
  • 1 函数 C 使用此数组进行过滤。

问题: 函数B更新时App调用函数C进行过滤,App崩溃。如果函数 C 与函数 B 同时过滤,则更新数组 A 的数据。=> 应用程序崩溃,原因是“数组在被枚举时发生了变异”

我不知道,我可以或我不能给他们写单元测试。请帮我检查一下上面的案例。如何在单元测试中重现崩溃?

【问题讨论】:

    标签: ios unit-testing


    【解决方案1】:

    你可能正在做这样的事情。

    for (id object in myArray)
       if (someCondition)
           [myArray removeObject:object]
    

    您无法在遍历可变数组时对其进行编辑,因此您需要创建一个临时数组来保存您想要删除/修改的内容。

    【讨论】:

      猜你喜欢
      • 2014-03-20
      • 2012-11-28
      • 2012-02-14
      • 2018-06-24
      • 1970-01-01
      • 2021-08-23
      • 2011-02-26
      • 2014-06-13
      相关资源
      最近更新 更多