멀티 스레딩을 처음 접했고 백그라운드에서이 기능을 어떻게 실행할 수 있는지 궁금합니다. 이 함수는 단순히 XML 파싱에 사용되는 NSURL을 반환하며 다른 함수에서 호출됩니다. 또는이 함수가 NSURL을 반환 할 때까지 함수를 호출하는 함수가 계속되지 않기 때문에 백그라운드에서 실행할 가치가 있습니다. 근본적으로, 나는 단지 약간의 시간을 끝내기 때문에 이것을 빠르게하는 방법을 알아 내려고 노력하고있다!백그라운드에서 iOS exec 기능
+ (NSURL *)parserURL {
NSURL *theURL = [NSURL URLWithString:@"http://www.wccca.com/PITS/"];
NSData *data = [[NSData alloc] initWithContentsOfURL:theURL];
TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:data];
NSArray *elements = [xpathParser searchWithXPathQuery:@"//input[@id='hidXMLID']//@value"];
if (elements.count >= 1) {
TFHppleElement *element = [elements objectAtIndex:0];
TFHppleElement *child = [element.children objectAtIndex:0];
NSString *idValue = [child content];
NSString *stg = [NSString stringWithFormat:@"http://www.wccca.com/PITS/xml/fire_data_%@.xml", idValue];
NSURL *url = [NSURL URLWithString:stg];
return url;
}
return nil;
}
최고 감사 :
}
당신은 방법을 다음과 같은 방법을 호출합니다. 이미 파싱 작업을 위해 AFNetworking을 사용하고 있습니다. 이 코드 블록은 AFNetwokring XML 작업에 대한 링크를 만드는 데 사용되는 URL을 반환합니다. –
AFNetworking을 사용하여 데이터를 가져올 수도 있습니다. '([끔찍하지는 않지만)] [[NSData 할당] initWithContentsOfURL : theURL]; –
완료시 선언되지 않은 식별자 'url'을 사용합니다. –