2013-04-26 7 views
0

NSXMLParser를 사용하여 .xml 파일을 프로젝트로 구문 분석하고 있습니다. 지금까지 나는 문제가 없다. "www.fooo.com/image.jpg"

urlString = [NSString stringWithFormat:@"http://%@", urlString];

이 줄은 매우 느립니다에 내가 원하는 이미지를 보여주기 위해 내 .XML이 같은 이미지 URL 느릅 나무 모양입니다. 모든 단일 값을 편집하기 위해 루프에서 사용합니다.
예 :왜 문자열을 연결하는 것이 너무 느린가요?

for (NSDictionary *locationDetails in parser.items) 
{ 
    NSString *urlString = locationDetails[@"imageURL"]; 
    urlString = [NSString stringWithFormat:@"http://%@", urlString]; 
    NSURL *storeImageURL = [NSURL URLWithString:urlString]; 
    NSLog(@"img %@", urlString); 
} 

내 앱의로드 시간은 약 3 초입니다. 이 차선이 지나간 후 ​​20 초가됩니다! 같은 일이지만 더 빨리 할 수있는 방법이 있습니까 ??

+2

:이를 위해 뭔가를하려고하면 성능 측정을 할 경우'NSLog'를 제거합니다. 인쇄 물건은 매우 expensiv입니다. 두 번째 :'stringByAppendingString'은'stringWithFormat'보다 약간 더 빨라야합니다. 성능 향상을 위해 objective-c 대신 순수한 c를 사용해야 할 수도 있습니다. 또는 필요할 때'http : // '부분을 추가하십시오. 또한'NSURL initWithScheme : host : path :'도 유용 할 수 있습니다. –

+0

괜찮아요. NSLog는 테스트 용입니다.) – CTSchmidt

+0

이 NSString * urlString = [KHTTP stringByAppendingString : stringAppending];을 시도했지만 여전히 느립니다. – CTSchmidt

답변

1

전송 된 obj-c 메시지 수와 작성 및 삭제 된 임시 객체 수를 최소화하려고합니다. 먼저

[NSURL initWitScheme:@"http" host:nil path:locationDetails[@"imageURL"]];