iOS,关于C结构体数组在子线程中写的操作
2014-11-27 11:40
211 查看
定义了一个C结构体的数组,在子线程中进行写的操作,各种崩溃,报错为:was mutated while being enumerated.
经过多次查找,当前类中并没有for in等快速枚举操作,根据网上各种解决方法,如加锁等,都不起作用。
经排查,是因为在子线程中对一个C结构体数组进行了写的操作。
解决方法:把这部份操作扔到主线程即可。
dispatch_async(dispatch_get_main_queue(), ^{
// C结构体数组的写操作放在这里。
});
经过多次查找,当前类中并没有for in等快速枚举操作,根据网上各种解决方法,如加锁等,都不起作用。
经排查,是因为在子线程中对一个C结构体数组进行了写的操作。
解决方法:把这部份操作扔到主线程即可。
dispatch_async(dispatch_get_main_queue(), ^{
// C结构体数组的写操作放在这里。
});
相关文章推荐
- <iOS>关于子线程和block中操作主线程界面的控件讨论
- iOS 多个线程对数组操作(遍历,插入,删除),实现一个线程安全的NSMutabeArray
- iOS 关于数组、字典等数据类型异常操作crash的解决办法
- php入门学习知识点五 关于php数组的几个基本操作
- Java关于数组的操作
- 关于抛出跨线程操作UI线程的异常的处理
- 关于iOS上的线程(一)
- .net 互操作之p/invoke- 数据封送(嵌套结构体,类,数组)(5)
- C语言关于数组的常见操作汇总
- 关于JS中的数组操作.备忘
- 关于线程间的控件互操作
- 关于数组的操作
- 关于结构体数组动态内存分配
- 关于强制退出线程操作的代码
- 关于动态数组指针操作的两个例子
- 关于抛出跨线程操作UI线程的异常的处理
- 关于arrylist的一些操作(包含利用params传递数组参数)
- 关于不同类型的结构体的数组的读取和保存的测试程序
- TMemoryStream下关于bye数组的操作
- 关于android Activity 中子线程操作界面的