0
웹 사이트에 요청을 통해 정보를 다운로드하는 응용 프로그램을 만들고있어, HTML 및 HTML을 제공하고 응용 프로그램 정보를 얻습니다. 이 데이터를 다운로드하기 위해 요청에 필요한 모든 매개 변수가있는 url을 사용합니다.웹 사이트에서 데이터를 다운로드하는 멀티 스레딩
NSData *data = [NSData dataWithContentsOfURL:url];
NSString* htmlString;
htmlString = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
[self parserHTML:htmlString]; // here I fill a NSArray with the info parsed
[self searchSomething:htmlString]; // continue filling the NSArray
...
데이터를 다운로드하고 HTML을 파서하는 작업은 시간이 오래 걸립니다.
나는 빨리이를 만들기 위해 무엇을 할 수 있는가? 그랜드 센트럴 파견? 그렇다면 내가 이것을 사용하고 있기 때문에, 어떻게 그것을 사용하고 NSSArray이 비어 있기 때문에, 일을하지 않습니다 :
dispatch_queue_t downloadQueue = dispatch_queue_create("pharmacy downloader", NULL);
dispatch_async(downloadQueue, ^{
NSData *data = [NSData dataWithContentsOfURL:urlReal];
NSString* htmlString;
htmlString = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
[self parserHTML:htmlString]; // here I fill a NSArray with the info parsed
[self searchSomething:htmlString]; // continue filling the NSArray
});
dispatch_release(downloadQueue);
나는 그것이 작동 GCD를 사용하지 않는 경우. 무엇이 문제 일 수 있습니까 ??
도움 주셔서 감사합니다. 나는 완전히 잃어 버렸다! : S
을 살펴 수있는 몇 가지 예제 코드에 대한
, 당신은 구문 분석하는 동안 충전된다? 이것은 객체의 속성입니까? 어쩌면 구문 분석이 그 시점에 완료되지 않았을 수도 있습니다. –