gpt4 book ai didi

ios - 使用 sendAsynchronousRequest :queue:completionHandler: 时显示 'data loading'

转载 作者:行者123 更新时间:2023-12-01 19:12:06 24 4
gpt4 key购买 nike

我正在使用这个 block 方法从服务器加载我的数据......

NSURLRequest *urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:[myString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection
sendAsynchronousRequest:urlRequest
queue:queue
completionHandler: ^( NSURLResponse *response,
NSData *data,
NSError *error)
{
[[mySingleton dictionaryUserDetail] removeAllObjects];
[[mySingleton arrayUserDetail] removeAllObjects];

if ([data length] > 0 && error == nil) // no error and received data back
{
NSError* error;
NSDictionary *myDic = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
[mySingleton setDictionaryUserDetail:[myDic mutableCopy]];

NSArray *myArray = [myDic objectForKey:@"searchResults"];
[mySingleton setArrayUserDetail:[myArray mutableCopy]];

dispatch_async(dispatch_get_main_queue(), ^{
[self userDetailComplete];
});
} else if
([data length] == 0 && error == nil) // no error and did not receive data back
{
dispatch_async(dispatch_get_main_queue(), ^{
[self serverError];
});
} else if
(error != nil) // error
{
dispatch_async(dispatch_get_main_queue(), ^{
[self serverError];
});
}
}];

我希望能够向用户显示进度条,而不仅仅是一个微调器。如果我使用委托(delegate)我假设我可以使用 NSURLConnectionDelegate
connection:didReceiveData:

但我不知道如何用 block 来做到这一点。有人有一些天才的见解吗?

最佳答案

如果你想显示一个显示实际下载进度的进度条,那么你必须使用 NSURLConnection 的基于委托(delegate)的方法。 . sendAsynchronousRequestsendSynchronousRequest不为此提供方法。

关于ios - 使用 sendAsynchronousRequest :queue:completionHandler: 时显示 'data loading',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15854129/

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