1
어떻게 스레드에서 다른 viewcontroller를 시작할 수 있습니까?NSThread presentview 컨트롤러 호출?
는내 코드가 작동하지 않습니다
- (IBAction)btnGotoNextVC:(id)sender
{
[self.isLoading startAnimating];
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
[NSThread detachNewThreadSelector:@selector(gotoSecondController:)
toTarget:self
withObject:[NSArray arrayWithObjects:@"hello there", nil]];
}
내 스레드 :
- (void) gotoSecondController: (NSArray*) parameters
{
NSString* data1 = parameters[0];
NSLog(@"%@", parameters[0]);
ViewController2 *VC2 = [self.storyboard instantiateViewControllerWithIdentifier:@"myView2"];
VC2.global_myLabel = [NSString stringWithFormat:@"Hallo %@", data1];
[self presentViewController:VC2 animated:YES completion:nil];
}
그것은이 선으로 추락 한 것 :
[self presentViewController:VC2 animated:YES completion:nil];
오류는 다음과 같습니다
-[NSStringDrawingContext animationDidStart:]: unrecognized selector sent to instance 0x8f983c0
무엇을 할 수 있습니까? 답변 주셔서 감사합니다!
이 답변에 감사드립니다 방법을 사용하여! 하지만 UITableView 있고 웹 페이지에서 소스 코드를 가져 와서 구문 분석하십시오. 페이지에서 소스 코드를 읽는 함수를 호출하면 UI가 멈 춥니 다. 이 문제를 어떻게 해결할 수 있습니까? 버튼을 클릭하고 웹 사이트 코드를 읽을 때 첫 번째 컨트롤러가 멈 춥니 다. 빠른 답변에 감사드립니다. – user3032152
나는 그것이 무엇을 빨아 먹는가에 달려 있다고 생각한다 ... 메인 쓰레드의 HTML을 모두로드하거나 파싱하고 있는가? 그것은 일을 묶을 것입니다. 당신은 만들고 별도의 스레드에서 UIViewController에 데이터를 전달하고 주 스레드에 그것을 제시, 그게 당신을 위해 일하는 것입니까? 별도의 스레드에서 레이블 텍스트를 변경할 수 있는지 확실하지 않으므로 백그라운드 스레드에서 레이블 텍스트를 변경하고 기본 스레드에서 레이블을 업데이트해야합니다. – cjwirth