我今天刚刚开始使用GCD,我认为我已经了解它是如何工作的,但是现在我对于为什么NSLog语句没有在控制台中打印/显示有点困惑。
基本上,如果我正确理解GCD,则需要完成几个步骤。
以下是我在其中一个文件中使用GCD的示例
ViewControllerWelcome.m
#import <ViewControllerWelcome.h"
#import <dispatch/dispatch.h> // Grand Central Dispatch
@interface ViewControllerWelcome ()
{
// declare private methods here
dispatch_queue_t scan_queue;
}
@end
@implementation ViewControllerWelcome
- (void)viewDidLoad {
[super viewDidLoad];
// threading stuff - GCD
scan_queue = dispatch_queue_create("com.chrisrjones.kegcop", NULL);
// put blocks of code into curly braces to run on separate thread
dispatch_async(scan_queue, ^{
[serial handShake];
NSLog(@"execution reached here");
});
}
@end
当前正在运行,我没有在^ {
中看到NSLog语句的输出答案 0 :(得分:0)
可能是您的[serial handShake];正在阻止..尝试在此次调用之前输入日志
答案 1 :(得分:0)
试试这个。
NSLog(@"execution reached here");
[serial handShake];
而不是
[serial handShake];
NSLog(@"execution reached here");