gpt4 book ai didi

ios - NSURLConnection 异步线程连接关闭

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

我使用 NSURLConnection 在与主线程分离的线程中从 Internet 获取一些数据:
我把这个放在我的 JSONViewController.h :

#import <UIKit/UIKit.h>

@interface JSONViewController : UIViewController <NSURLConnectionDelegate> {
BOOL firstTime;
NSMutableData *_responseData;
}
@end

我使用此代码在 中启动连接JSONViewController.m :
NSURLRequest *request;
if (self.jsonItem == nil) {
request = [NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",MY_URL,@"testvalue"]]];
}else {
request = [NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",MY_URL,(NSString *)self.jsonItem]]];
}
NSLog(@"json Item = %@",self.jsonItem);


// Create url connection and fire request
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];

我还实现了与 NSURLConnection 协议(protocol)相关的那些功能:
#pragma mark NSURLConnection Delegate Methods
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
_responseData = [[NSMutableData alloc] init];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[_responseData appendData:data];
}

- (NSCachedURLResponse *)connection:(NSURLConnection *)connection
willCacheResponse:(NSCachedURLResponse*)cachedResponse {
return nil;
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {}

一切正常。
问题是:我得到结果并且连接应该完成后,为什么在导航栏上方的运营商字段附近仍然看到这个小指示器?我应该手动停止连接吗?

enter image description here

最佳答案

在您的代码中的某处,您应该会找到类似这样的内容:

UIApplication* app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = YES;

这会将状态栏的事件指示器设置为“打开”。
加载完成后,您需要再次将其关闭。这样做:
UIApplication* app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = NO;

如果您一次下载的文件不超过一个,只需将两行添加到您的 connectionDidFinisLoading 中即可。和 didFailWithError方法实现。

关于ios - NSURLConnection 异步线程连接关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24451351/

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