gpt4 book ai didi

Swift 什么时候使用 Performing Block Operations

转载 作者:可可西里 更新时间:2023-11-01 02:15:41 25 4
gpt4 key购买 nike

iOS documentation用“执行 block 操作”声明以下内容:

func performBlockAndWait(_ block: () -> Void)

DiscussionYou use this method to send messages to managed objects if the context was initialized using NSPrivateQueueConcurrencyType or NSMainQueueConcurrencyType.


但让我感到困惑的是,Apple 的 Core Data 文档示例并不总是使用“执行 block 操作”。

Saving Managed Objectets:

do {
try managedObjectContext.save()
} catch {
fatalError("Failure to save context: \(error)")
}

Fetching Managed Objects

let moc = managedObjectContext
let employeesFetch = NSFetchRequest(entityName: "Employee")

do {
let fetchedEmployees = try moc.executeFetchRequest(employeesFetch)
as! [AAAEmployeeMO]
} catch {
fatalError("Failed to fetch employees: \(error)")
}

我想知道的是,何时使用执行 block 操作。在使用托管对象上下文时始终使用它们是最佳实践吗?苹果不总是在他们的示例代码中使用它们的原因是什么。他们在这里使用它 ( core data api reference ),而在这里不使用 ( core data programming guide )。

最佳答案

您错过了 API 文档的这一部分:

https://developer.apple.com/reference/coredata/nsmanagedobjectcontext

There are two exceptions:

...

If your code is executing on the main thread, you can invoke methodson the main queue style contexts directly instead of using the blockbased API.

关于Swift 什么时候使用 Performing Block Operations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38757734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com