2011-02-05 4 views
9

NSURL 인쇄 null입니다. 이유가 뭐야? -[NSURL initWithString:]에 대한 문서에서생성 됨 NSURL은 null입니다.

NSString *webStr = [[NSString alloc] initWithFormat:@"%@",[webArray objectAtIndex:1]]; 

NSLog(@"urlString = %@",webStr); // its printing correct url string 

NSURL *webURL = [[NSURL alloc] initWithString:webStr]; 

NSLog(@"url = %@",webURL); // its printing null 

[webURL release]; 

[webStr release]; 
+2

{} 버튼을 클릭하여 질문에 형식을 지정하십시오. http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks –

답변

27

다음을 수행해야합니다.

NSString *webStr = [[NSString alloc] initWithFormat:@"%@",[webArray objectAtIndex:1]]; 

NSLog(@"urlString = %@",webStr); // its printing correct url string 

NSURL *webURL = [[NSURL alloc] initWithString:[webStr stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]]; 

NSLog(@"url = %@",webURL); // it should print it 

[webURL release]; 

[webStr release]; 

NSASCIIStringEncoding을 사용했지만 UTF8 또는 다른 인코딩을 사용할 수 있습니다.

+0

이제는 내가 왔습니다. 그 값이 배열에있는 공간을 가지고 있다는 것을 아는 것입니다. 정말 감사합니다. – Jeeva

+0

예, 공간이 URL에서 처음 확인되지 않습니다. :) 천만에요. –

+0

감사합니다. 도움이됩니다. – Unheilig

2

: 문자열이 잘못이라면, 전무를 반환

.

이 메서드는 URLString에 ':', '/', '%', '#', ';'및 '@'과 같은 필수 백분율 이스케이프 코드가 있어야합니다. '%'이스케이프는 UTF-8을 통해 변환됩니다.

귀하의 의견은 무엇입니까?

+0

둘째. Nishanth.jeeva가 게시 한 코드에는 명백한 오류가 없으므로 예상대로 작동해야합니다. –

+0

[webArray objectAtIndex : 1]에 "http://www.chennaispider.com/resources/2838-Details-Chennai-City-Fire-Stations.aspx"... 여전히 URL이 인쇄되는 url이 포함되어 있습니다. – Jeeva

+0

귀하의 URL은 RFC 1738 : http://www.ietf.org/rfc/rfc1738.txt에 명시된 요구 사항을 충족해야합니다. 'http : // : /? ' –

0
NSLog(@"urlString = %@",webStr); // its printing correct url string 

올바른 URL 문자열이 인쇄되지 않습니다. 그냥 문자열을 인쇄 중입니다. NSURL * webURL = [[NSURL alloc] initWithString : webStr]이 nil을 반환하면 문자열이 유효한 URL이 아니라는 것을 의미합니다.

관련 문제