定义了一个C结构体的数组,在子线程中进行写的操作,各种崩溃,报错为:was mutated while being enumerated.
经过多次查找,当前类中并没有for in等快速枚举操作,根据网上各种解决方法,如加锁等,都不起作用。
经排查,是因为在子线程中对一个C结构体数组进行了写的操作。
解决方法:把这部份操作扔到主线程即可。
dispatch_async(dispatch_get_main_queue(), ^{
// C结构体数组的写操作放在这里。
});
定义了一个C结构体的数组,在子线程中进行写的操作,各种崩溃,报错为:was mutated while being enumerated.
经过多次查找,当前类中并没有for in等快速枚举操作,根据网上各种解决方法,如加锁等,都不起作用。
经排查,是因为在子线程中对一个C结构体数组进行了写的操作。
解决方法:把这部份操作扔到主线程即可。
dispatch_async(dispatch_get_main_queue(), ^{
// C结构体数组的写操作放在这里。
});