私は今日 GCD を使い始めたばかりで、それがどのように機能するかを理解していると思っていましたが、現在、コンソールに NSLog ステートメントが印刷/表示されない理由について少し混乱しています。
基本的に、GCD を正しく理解していれば、いくつかの手順を実行する必要があります。
- 新しいキューを作成する
- ブロックをキューに追加する
ファイルの 1 つで 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ステートメントの出力が表示されません