ios - CoreData多线程_违规调试

标签 ios multithreading core-data

我们在多线程上使用核心数据并遇到多线程违规。通常很容易修复,查看违规位置并确保代码在 performBlock 调用中执行。

今天的问题是调用堆栈没有指向任何给我很多线索的东西。我想有人可能对如何追踪这个有一些见解

#0  0x05e40f63 in +[NSManagedObjectContext __Multithreading_Violation_AllThatIsLeftToUsIsHonor__] ()
#1  0x05e4138b in _PFAssertSafeMultiThreadedAccess_impl ()
#2  0x05e0c15d in -[_PFBatchFaultingArray dealloc] ()
#3  0x05e0c1dd in -[_PFBatchFaultingArray release] ()
#4  0x07130eb1 in objc_release ()
#5  0x07131d32 in (anonymous namespace)::AutoreleasePoolPage::pop(void*) ()
#6  0x080d0536 in _dispatch_root_queue_drain ()
#7  0x080d1b70 in _dispatch_worker_thread3 ()
#8  0x0842d1da in _pthread_wqthread ()
#9  0x0842ae2e in start_wqthread ()

最佳答案

我有同样的问题,只是注意到当我不批量获取数据时,错误不会出现,即不要在 NSFetchRequest 上设置 fetchBatchSize。

这可能是 PFBatchFaultingArray 的 iOS 8.3 实现中的一个错误。

关于ios - CoreData多线程_违规调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29741359/

相关文章:

ios - 解析 json 获得的值是无序的

ios - 核心数据Fetch请求语法查询

ios - 数据以错误的方式存储在核心数据中

ios - 如何使用异步 NSURLConnection 将数据传递给 View Controller

ios - 使用 CocoaMQTT 连接到我的 mqtt 代理时出现问题

javascript - iDevice浏览器,更改选择菜单内容

multithreading - 对象方法的 Perl 线程

python - Apache spark 是如何处理 python 多线程问题的?

c++ - Qt UI线程问题

ios - 为什么我的平移手势只会轻推其 View 并停止?