【发布时间】:2013-10-04 08:28:35
【问题描述】:
例如,如果我们使用 ABAddressBook,我们必须只使用一个线程。
好吧,我不希望那个线程成为主线程。
但是,所有其他线程都不是唯一的。例如,如何创建仅使用一个特殊线程的 NSOperationQueue?
【问题讨论】:
标签: objective-c
例如,如果我们使用 ABAddressBook,我们必须只使用一个线程。
好吧,我不希望那个线程成为主线程。
但是,所有其他线程都不是唯一的。例如,如何创建仅使用一个特殊线程的 NSOperationQueue?
【问题讨论】:
标签: objective-c
也许这会帮助你。 是的,除了邮件线程之外,您也可以在后台线程上执行操作。
PerformSelectorInBackground:withObject: 是一个可能的解决方案。
dispatch_queue_t workQ = dispatch_queue_create("bgWorkQ", 0);
dispatch_async(workQ, ^{
// This code is now running in a background thread.
// Do all your loading here...
});
});
dispatch_release(workQ)
这里是 NSOperation 队列示例教程的链接 enter link description here
【讨论】:
您可以在创建ABAddressBook 实例的同一队列中使用源自ABAddressBook 的通讯簿类型。它不必是主队列。如果要在队列之间传递引用,则必须将它们导入另一个在目标队列上创建的 ABAddressBook 实例。这是一个相对便宜的操作。
【讨论】:
ABAddressBook 不是线程安全的,因此您应该为您使用的每个线程创建 ABAddressBook 实例。