NSView에서 N 개의 이미지를 그릴 필요가 있습니다. 하지만 처음에는 이미지의 양을 알지 못하기 때문에 백그라운드의 스레드에서 작동하도록 설정했습니다.백그라운드 스레드 업데이트에 대한 알림 NSView
[NSThread detachNewThreadSelector:@selector(workInBackgroundThread:) toTarget:self withObject:nil];
는 이미지의 양을 얻을 때, 그것은 내가 NSView의 알림 기능
-(void)processGotImagesAmount:(NSNotification*)notification
{
//others codes
[myNSView setFrame:CGRectMake(0, 0, calculateNewWidth, caculatedNewHeight)];//line A
//others codes
}
에서 이미지의 양에 따라 크기를 조정하려고 통지
- (void)workInBackgroundThread:(id)unusedObject {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
//get image amount....
[[NSNotificationCenter defaultCenter] postNotificationName:@"gotImageAmount" object:nil];
//...
//continue to load images
}
를 보내드립니다 앱이 라인 A를 실행하면 화면이 멈추는 현상이 발생합니다.
[myNSView setFrame:CGRectMake(0, 0, calculateNewWidth, caculatedNewHeight)];
자체는 아무 문제가 없습니다. 전화를 걸려면 botun을 클릭하면 작동합니다!
하지만 알림 기능
에서 작동하지 않는 것 같습니다 어떤 의견