2017-05-24 39 views
0

我有一个Objective-C应用程序,我需要在单独的线程中运行函数。这个函数将在运行循环中持续运行,并且需要在以后取消,所以我认为正确的使用方法是NSThread。我不认为这是使用Grand Central Dispatch的适当时机。 (请纠正我,如果我错了。)Objective-C:使用带有函数或块的NSThread,无需额外的对象

NSThread要求我分配和维护一个单独的对象与将在新线程中执行的方法,例如, [[NSThread alloc] initWithTarget:someObject selector:@selector(runThread) object:nil]

当然,这可能看起来像是一个小小的投诉,但有没有什么办法让我像这样开始线程而不需要这个单独的对象?我想只使用C风格的函数或块。

回答

1

该文档组织有点奇怪,但NSThread-initWithBlock:+detachNewThreadWithBlock:

+0

感谢您指出。为什么地球上的'-initWithBlock:'不会与其他的初始化程序一起列出?为什么'+ detachNewThreadWithBlock:'不在“开始线程”下列出?那是一个糟糕的组织! – GuyGizmo

相关问题