2013-10-04 3 views
-1

ABAddressBook을 동일한 직렬 대기열의 다중 스레드에서 사용할 수 있습니까?

사용자가 부여하거나 당 응용 프로그램 으로 데이터를 연락하는 액세스를 거부 할 수있는 아이폰 OS 6의 문서입니다. // 연락처 데이터에 대한 액세스를 요청하려면 ABAddressBookRequestAccessWithCompletion으로 전화하십시오. 사용자가 액세스 권한을 부여하거나 거부하는 동안 // 앱을 차단하지 않습니다. 액세스가 허용 될 때까지 NULL이 아닌 ABAddressBookRef는 에 연락처를 포함하지 않으며 연락처를 수정하려는 // 시도는 실패합니다. CFErrorRef가 kABOperationNotPermittedByUserError를 반환합니다. // 사용자는 처음 액세스가 요청 될 때만 메시지가 표시됩니다. 이후의 // ABAddressBookCreateWithOptions에 대한 호출은 기존 사용 권한을 사용합니다. 완료 // 핸들러는 임의의 큐에서 호출됩니다. ABAddressBookRef이 응용 프로그램 전체에서 사용되는 경우, // 는 모든 사용은 // 스레드 안전한 방식으로 ABAddressBookRef을 사용하기 위해 동일한 큐에 파견해야

그것은 더 이상 같은 스레드를 말하지 않는다 . 그냥 같은 대기열. 따라서 NSOperationQueue를 사용하여이 ABAddressBookRef에 액세스해도 괜찮습니까? 그럴 수있어?

참고 : 해당 질문은 NSOperationQueue에 특정 스레드를 사용하도록 알릴 수 있는지 여부를 묻습니다. 이것은 ABAddressBook이 동일한 NSOperationgQueue (아마도 직렬 하나) 내에서 ACROSS 쓰레드를 사용할 수 있는지 묻습니다.

같은 것을 달성하는 방법은 2 가지가 있습니다. 그러므로 질문은 다릅니다.

+0

[주 스레드 외에 다른 특별한 스레드가 있습니까?] (http://stackoverflow.com/questions/19176659/besides-the-main-thread-is-there-any-other-special- 스레드) – trojanfoe

+0

왜 같은 주제에 대해 여러 질문을 게시하고 있습니까? Apple Developer 사이트에서 더 많은 시간을 할애 할 것을 권합니다. – trojanfoe

+0

그 질문은 NSOperationQueue가 특정 스레드를 사용하도록 알릴 수 있는지 여부를 묻습니다. 이것은 ABAddressBook이 동일한 NSOperationgQueue (아마도 직렬 하나의) 내에서 ACROSS 쓰레드가 될 수 있는지 묻습니다. –

답변

0

작업이 다른 스레드에서 전달 될 수 있기 때문에 작업 큐의 다른 작업에서 사용할 수 없습니다.