표시 자로 MBProgressHUD을 사용하고 있습니다. 그리고 다른 방법을 실행할 때 별도의 스레드를 사용하고 있다는 것을 알고 있습니다. NSURLConnection
을 사용하려면 해당 대표단이 제대로 호출하지 않습니다.별도의 스레드가있는 NSURLConnection 위임
- (void)viewDidLoad {
[super viewDidLoad];
[self hudShowWithLabel];
}
-(void)hudShowWithLabel {
HUD = [[MBProgressHUD alloc] initWithView: self.view];
[self.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Loading";
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
}
-(void)myTask {
responseData = [NSMutableData data];
NSLog(@"Is%@ main thread", ([NSThread isMainThread] ? @"" : @" NOT"));
NSString *requestURL = @"http://someurl";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:requestURL]];
(void)[[NSURLConnection alloc] initWithRequest:request delegate: self];
}
실행하는 동안, 나는 myTask
이 MainThread
에없는 것을 볼 수 있습니다 여기에
나는 (@implementation 파일)을 가지고있는. 이 문제를 어떻게 해결할 수 있습니까?
[self performSelectorOnMainThread:@selector(start) withObject:nil waitUntilDone:YES];
을 그리고 선택기 시작은 다음과 같습니다 :