2011-12-06 2 views
4

파일 시스템 경로가있는 경우 stringByResolvingSymlinksInPath 선택기를 사용하여 ".."을 제거하고 이전 경로 구성 요소도 제거 할 수 있습니다. URL에 대해 동일한 작업을 수행하려면 어떻게해야합니까? 내가 밖으로 시작 예를 들어, 말 : 내가 필요URL의 문자열 표현에서 ".."을 제거하십시오

www.example.com/themes/themeA/../common/assetA.png 

변환에 :

- (NSURL *)standardizedURL 

그 점 새로운 URL을 반환 값 : URL에 대한

www.example.com/themes/common/assetA.png 

답변

7

NSURL 방법을 사용 원래 URL과 동일한 리소스에 연결되며 절대 경로입니다.

예 :

NSString *s = @"www.example.com/themes/themeA/../common/assetA.png"; 
NSURL *u = [NSURL URLWithString:s]; 
NSURL *su = [u standardizedURL]; 
NSLog(@"su: %@", su); 

NSLog 출력 : 무엇 다음에 대한

su: www.example.com/themes/common/assetA.png 
2

? 당신이 NSURL 대신 NSString을 원하는 경우에

NSString* resolved_url 
    = [[[NSURL URLWithString: @"www.example.com/themes/themeA/../common/assetA.png"] standardizedURL] absoluteString]; 

, absoluteString에 전화를 제거합니다.

+0

아, 맞습니다. 표준화 된 URL입니다. 고정 응답. 지적 해 주셔서 고마워요. – Krizz

관련 문제