- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Utility.managedObjectContext().performBlockAndWait({
})
dispatch_sync(dispatch_get_main_queue(), {
})
.MainQueueConcurrencyType
选项创建的。最佳答案
你在这里混合了两个完全不同的概念,但由于它是主线程/上下文/队列,你的混合被屏蔽并且它“有效”。
Managed object context 的 performBlockAndWait:
和 performBlock:
方法不保证在哪个线程上执行该 block ,只保证访问/更改的数据是安全访问的。由于您的上下文是主队列并发类型,因此在 performBlockAndWait:
和 performBlock:
方法之外接触其对象是安全的,在主队列中只有线程。因此,当您将 block 排队到主队列上运行时,它可以保证在主线程上运行,因此您的数据是安全的。
主线程上的 block 执行不是原子的。否则,多线程有什么意义?为保证数据安全,访问数据时必须调用performBlockAndWait:
和performBlock:
方法。您可以保证主队列调度 block 不会被其他主队列调度 block 中断地运行,并且托管对象上下文队列(后台或主队列)是串行的,因此只允许一个 block 并发访问数据。
关于ios - PerformBlockAndWait 与dispatch_sync(dispatch_get_main_queue(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19369929/
我正在创建一个 NSManagedObjectContext在私有(private)队列中处理我从文件和/或服务中获取的数据更新: NSManagedObjectContext *privateCon
Utility.managedObjectContext().performBlockAndWait({ }) dispatch_sync(dispatch_get_main_queue(), { }
上下文:使用 Core Data,我在私有(private)队列上有一个主上下文(我将调用 mainContext),在主队列上有另一个上下文,主队列的子队列(我将调用子上下文)。队列无关紧要,我的问
在核心数据最佳实践的 WWDC 2012 视频中,那个人说 performBlockAndWait: 不包含自动释放池。 (而 performBlock: 确实如此) 为什么不呢?这样做的具体后果是什
我正在编写一个函数来执行一些 CoreData 的东西。我希望函数仅在 所有 CoreData 操作执行完毕后返回。 CoreData 涉及在后台上下文中创建一个对象,然后在父上下文中执行更多操作:
我从已发布的应用程序中获得以下崩溃报告: synchronizeMyWords 方法从数据库中获取实体,创建具有主上下文父级的私有(private)队列上下文,最后保存结果。所有操作都在后台线程中。每
我遇到了无法解决的 Core Data 问题。我以艰难的方式了解了核心数据中的并发问题,因此我非常小心,只在 performBlock: 和 performBlockAndWait: block 中执
我有一个下载一些数据的 NSURLSession(带有委托(delegate))。我不希望启动下载 (refresh) 的方法在执行委托(delegate)方法之前返回。为此,我在 refresh 的
print("queue1: \(NSOperationQueue.currentQueue())") managedObjectContext.performBlockAndWait({ p
在将 NSManagedObjectContext 的 performBlock: 与通知中心一起使用时,我遇到了有趣的行为。 我从主 UI 线程触发异步数据下载(使用 NSURLConnection
我有一个 OSX 应用程序,我在其中使用父/子 NSManagedObjectContext 设置。子 MOC 具有 NSPrivateQueueConcurrencyType 并且是我主要使用的类型
我有一个 NSManagedObjectContext 声明如下: - (NSManagedObjectContext *) backgroundMOC { if (backgroundMOC
我注意到,对于 NSManagedObjectContext 和 NSMainQueueConcurrencyType 来说,performBlockAndWait 是可能的:并在除接收者的(主)队列
仍在开发我的 RSS 阅读器。 我的数据模型大致由以下 NSManagedObject 层次结构组成: Category > Feed > Post 我的应用程序使用以下内容: 具有 NSPrivat
我有两个 NSManagedObjectContext,名为 importContext 和 childContext。 childContext 是 importContext 的 child ,它
更新:我已经准备好了可以无问题地再现问题的示例,请使用以下URL下载测试项目: https://www.dsr-company.com/fm.php?Download=1&FileToDL=DeadL
我使用的是 Xcode 7.1,在打开我现有的应用程序时收到此警告。如果有人展示使用 -performBlockAndWait: 的方法将会很有帮助 谢谢 最佳答案 正如 Mundi 所说,您不需要锁
我是一名优秀的程序员,十分优秀!