-1

这是 iOS 6 中的文档

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

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

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

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

4

1 回答 1

0

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

于 2013-10-04T10:39:05.667 回答