gpt4 book ai didi

ios - dispatch_async 并非一直有效

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:09:35 27 4
gpt4 key购买 nike

我有以下代码...

-(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 block 没有被调用。它只是通过它。但是,我每次都能看到打印的日志消息。

任何人都可以分享可能导致此问题的原因吗?

最佳答案

“落空”是什么意思?该调用是异步的,因此不会立即发生。将日志添加到 block 本身并查看它是否被打印。

您确定当它“落空”时 serialNum 不是 nil 吗?

关于ios - dispatch_async 并非一直有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19986024/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com