我注意到来 self 的主线程的以下平庸调用
[self performSelectorOnMainThread:@selector(rollBar:)
withObject:nil
waitUntilDone:false];
导致 [NSThread isMultiThreaded]
报告我的应用
变成了多线程。我以为那只是应该的
当你分离一个线程时发生,一些排队
一个线程中的一条消息不需要这样做。
有什么见解吗?
这个问题和this不一样一个。
停止压榨
我的错,rollBar:
调用了 [m_progress_bar incrementBy: 0.5];
。
漂亮的、可爱的、动画的 NSProgressIndicator
负责
让我的应用程序成为多线程的。这是令人惊讶的。
我不知道。
令人惊讶的是,[m_progress_bar 使用线程动画]
总是
返回 NO
,即使当我的应用程序挂起时栏会显示动画。
最佳答案
你确定吗?我将以下代码放入我的 appDelegate 的 init 方法中:
NSLog(@"Multi-threaded before? %@", [NSThread isMultiThreaded] ? @"Yes" : @"No");
[self performSelectorOnMainThread: @selector(setDelegate:) withObject: self waitUntilDone: NO];
NSLog(@"Multi-threaded after? %@", [NSThread isMultiThreaded] ? @"Yes" : @"No");
并在控制台中得到了这个结果:
<b></b>
<b>2008-10-21 07:26:28.296 MyApplication[82963:20b] Multi-threaded before? No
2008-10-21 07:26:28.297 MyApplication[82963:20b] Multi-threaded after? No
</b>
我还添加了第二个 NSLog(...)
对我的 applicationWillTerminate: 方法的声明,它还告诉我它不是多线程的。
关于objective-c - 调用 performSelectorOnMainThread => 多线程应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/221152/