UIView는 스레드로부터 안전하지 않으므로 배경 스레드에서 뷰를 추가 할 필요가 없습니다.이 문제를 해결하려면 UIView를 백그라운드 스레드에 생성 한 다음 주 스레드에 추가하십시오.배경 스레드에서 UIView를 만드는 것이 좋습니까?
참고 : 실제 스레드가 훨씬 복잡하고 모든 뷰를 작성하고 값을 채우는 데 시간이 좀 걸리기 때문에 주 스레드에서이 작업을 수행하지 않는 이유가 있습니다. 내가 이것을 할 때 UI가 응답하지 않게되기를 원하지 않습니다. 그래서 이것을 해결하려고합니다. 예
.. 미리
-(void)addLabel//called on background thread
{
UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(0,0,40,100)];
[label setText:@"example"]
[self.view performSelector:@selector(addSubview:) onThread:[NSThread mainThread] withObject:example waitUntilDone:YES];
}
감사합니다.
나는 그것이 맞다고 믿는다. 백그라운드에서 만들지 만 UI에서 UI를 업데이트하십시오. –