私は次のコードを持っています...
-(void) SetSerialNumber
{
NSLog(@"SetSerialNumber");
NSString *serialNum = textFieldSecond.text;
if (textFieldSecond.text == nil) {
[self performSelectorOnMainThread:@selector(display:) withObject:@"Please Enter the serial number" waitUntilDone:YES];
return;
}
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^(void){
NSString* response;
[self performSelectorOnMainThread:@selector(display:) withObject:@"Sending Set Serial Num request" waitUntilDone:YES];
[[testApp sharedClass] SetSerNumber:serialNum];
[self performSelectorOnMainThread:@selector(display:) withObject:@"Waiting for Response..." waitUntilDone:YES];
response = [[Process sharedProcess] readAndProcessData:ACK];
[self performSelectorOnMainThread:@selector(display:) withObject:rpcresponse waitUntilDone:YES];
});
}
このメソッドdisplay:
は、メッセージをUITextView
.
ボタンが押されたときにこの関数を呼び出します。時々、dispatch_async ブロックが呼び出されていません。それはただそれを通り抜けます。ただし、毎回出力されるログ メッセージを確認できます。
誰でもこれを引き起こす可能性のあるものを共有できますか?