在当前的iOS应用程序中,我使用了这种执行选择器方法:
[self performSelector:@selector(doSomething)
onThread:myThread
withObject:nil
waitUntilDone:NO
modes:[NSArray arrayWithObject:NSRunLoopCommonModes]];我不确定如何在swift中的特定线程上运行选择器。有什么建议吗?
发布于 2014-07-04 06:42:36
正如我在评论中建议的那样,你不应该再管理线程了。总是使用dispatch_queue而不是线程。
如果你真的想这么做,这里有个变通办法:CFRunLoopPerformBlock。
这是C代码,但我认为你可以将它转换成Swift代码,而不需要太多的工作。
// worker thread
CFRunLoopRef myrunloop; // some shared variable
void worker_thread_main() {
myrunloop = CFRunLoopGetCurrent();
CFRunLoopRun(); // or other methods to run the runloop
}
// other thread to schedule work
CFRunLoopPerformBlock(myrunloop, kCFRunLoopCommonModes, ^{
dowork();
});https://stackoverflow.com/questions/24541805
复制相似问题