detachNewThreadSelector和performSelectorInBackground都用于在后台调用方法。
这两种方法有什么区别吗?或者他们都以同样的方式工作?
答案 0 :(得分:4)
它们基本上是相同但略有不同的范例。在幕后,他们完全一样。唯一真正的区别是-[performSelectorInBackground:withObject:]
遵循所有其他 performSelector 样式方法,因为它们是在NSObject
上定义的,而实际上是消息定义了您希望执行的选择器。
通常,您几乎不必调用这些方法中的任何一种。赞成使用Grand Central Dispatch或NSOperation
和NSOperationQueue
来分析其他线程上的昂贵操作。 GCD和NSOperation
类都可以为您提供内存管理,线程池管理以及使用旧式调度方法所遗漏的许多其他内容。