2010-08-17 4 views
0

저는 새로운 iPhone 프로그래머입니다.iPhone 프로그램에서 URL 검색

웹 기반 응용 프로그램을 만들고 있습니다. 나는 URL의 사용자 입력을 텍스트 상자로 가져 가고있다. 버튼을 누르면 웹 주소로 이동합니다.

사용자가 http://www.google.com과 같은 URL을 입력하면 올바르게 작동합니다. 문제는 사용자가 google.com 또는 www.google.com 만 입력하면 작동하지 않는다는 것입니다.

이 문제를 해결하는 방법을 모르겠다.

'http : //'를 추가하면 문제가 발생하지만 사용자가 전체 웹 주소를 쓰면 실패합니다. 여기

는 버튼 클릭에 대한 내 코드입니다 :

- (IBAction를) { 인 NSMutableString의 * str을 이동;

str = [NSMutableString stringWithFormat:@"http://www.%@",name.text];  
    [webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]]; 

}

여기서 이름은 텍스트 필드이며 웹뷰 웹뷰의 목적이다. 웹 주소 동작 이외에, 그것은 잘 작동합니다.

도와주세요

....

답변

0

이 시도 .....

- (IBAction를) {

NSMutableString *str =[[NSMutableString alloc]initWithString:name.text]; 

if(![str hasPrefix:@"http://www."]) 
{ 
    if([str hasPrefix:@"www."]) 
      [str insertString: @"http://" atIndex: 0]; 
    else 
      [str insertString: @"http://www." atIndex: 0]; 

} 
if(![str hasSuffix:@".com"]) 
{ 
    [str appendString:@".com"]; 
} 
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]]; 
[str release]; 

}이 확인합니다

"에 http : //"이동 "WWW를." 또한 ".com"을 입력하고 사용자가 아무 것도 입력하지 않은 경우 처리하십시오. 이것은 확실하게 작동합니다. ......

+0

나는 이것을 이미했지만 더 쉬운 방법입니다. 제공 ........ 감사합니다 .... – Saawan

0

당신은 당신의 응용 프로그램에서 웹 브라우저를 만들려고?

어쨌든 .. 문자열의 처음 7자가 'http : //'또는 처음 3 개가 'www.'인지 여부를 확인하는 복잡한 for 루프가 있습니다. 등등은해야한다. 그러나 당신은 얼마나 많은 경우에 시도 할 것이냐? 누군가가 'https'로 보안 링크를 열려고하고 코드가 다른 http : //를 추가 할 수도 있음을 의미하므로이 접근법을 마무리하기 전에 모든 테스트 사례를 고려했는지 확인하십시오.