UITableViewController 하위 클래스 (MusicTableVC)에서 인스턴스화 된 사용자 지정 NSOperation 개체가 있습니다. NSOperation 객체는 백그라운드에서 URL의 NSArray를 채워야하므로 UI가 멈추지 않지만 그 배열을 주 스레드로 다시 보내야만 MusicTableVC 인스턴스가이 작업을 수행 할 수 있습니다. performSelectorOnMainThread : 배열을 MusicTableVC에 다시 보내야하지만 MusicTableVC의 인스턴스에 대한 포인터가 필요하다는 것을 알고 있습니다.performSelectorOnMainThread를 사용할 때 부모 개체를 대상으로 지정하는 방법?
NSOperation에 init 메소드를 만드는 것에 대해 생각하고있었습니다. 자신에 대한 포인터를 전달하고 그것을 사용하지만 어쩌면 내가 뭔가를 놓치고 initWithParent?
@synthesize parent;
- (id)initWithParent:(MusicTableVC*) musicTableViewController
{
if(self = [super init])
{
self.parent = musicTableViewController;
}
return self;
}
-(void) main
}
[parent performSelectorOnMainThread:@selector(arrayFinishedLoading:)
withObject:playlist
waitUntilDone:YES];
}
죄송합니다, iOS – TijuanaKez
GCD와 블록 모두 iOS에서 오랫동안 사용 가능합니다. 알고 계십니까? – zoul
실제로 그 사실을 몰랐습니다. GDC 덕분에 읽어야 할 것입니다. – TijuanaKez