【问题标题】:Can ABAddressBook be Used by Multiple Thread on the same serial Queue?同一个串行队列上的多个线程可以使用 ABAddressBook 吗?
【发布时间】:2013-10-04 08:37:06
【问题描述】:

这是 iOS 6 中的文档

用户可以授予或拒绝访问每个应用上的联系人数据 基础。要请求 // 访问联系人数据,请致电 ABAddressBookRequestAccessWithCompletion。这不会 // ​​阻止 应用程序,同时要求用户授予或拒绝访问权限。直到 // 已授予访问权限,非 NULL ABAddressBookRef 将不会 包含任何联系人和任何尝试修改联系人// 将失败 CFErrorRef 返回 kABOperationNotPermittedByUserError。 // 这 只有在第一次请求访问时才会提示用户;任何 后续调用 // ABAddressBookCreateWithOptions 将使用 现有权限。完成 // 处理程序在一个 任意队列。如果在整个应用程序中使用了 ABAddressBookRef, // 那么所有的使用都应该被分派到同一个队列来使用 ABAddressBookRef // 线程安全的方式

它不再说相同的线程了。只是同一个队列。那么使用NSOperationQueue来访问这个ABAddressBookRef就可以了吗?可以吗?

注意: 这个问题问我们是否可以告诉 NSOperationQueue 使用一个特定的线程。这个问题询问是否可以在同一个 NSOperationgQueue 中的跨线程使用 ABAddressBook(可能是串行的)

有两种不同的方式来完成同样的事情。因此问题是不同的。

【问题讨论】:

  • 你为什么要发布关于同一主题的多个问题?我建议花更多时间在 Apple Developer 网站上。
  • 这个问题问我们是否可以告诉 NSOperationQueue 使用一个特定的线程。这个问题询问是否可以在同一个 NSOperationgQueue 中的跨线程使用 ABAddressBook(可能是串行的)

标签: objective-c abaddressbook


【解决方案1】:

您不能跨操作队列的不同作业使用,因为作业可能在不同的线程上分派。

【讨论】:

    猜你喜欢
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 2012-10-24
    • 2020-09-03
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    相关资源
    最近更新 更多