URLWithString: nil을 반환합니다.
매우 쉬울 수도 있지만, 왜 그런지는 알 수 없을 것 같습니다.URLWithString:여기서 0으로 돌아옵니다.
//localisationName is a arbitrary string here
NSString* webName = [localisationName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* stringURL = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@,Montréal,Communauté-Urbaine-de-Montréal,Québec,Canadae&output=csv&oe=utf8&sensor=false&key=", webName];
NSURL* url = [NSURL URLWithString:stringURL];
ASC가 아닌 곳에서 탈출해야 합니다.하드코딩된 URL의 II 문자도 마찬가지입니다.
//localisationName is a arbitrary string here
NSString* webName = [localisationName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* stringURL = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@,Montréal,Communauté-Urbaine-de-Montréal,Québec,Canadae&output=csv&oe=utf8&sensor=false", webName];
NSString* webStringURL = [stringURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL* url = [NSURL URLWithString:webStringURL];
전체 문자열의 이스케이프로 처리되므로 localizationName 이스케이프를 제거할 수 있습니다.
파일 관리자에 저장된 파일을 처리하는 경우 이 기능을 사용합니다.
NSURL *_url = [NSURL fileURLWithPath:path];
당신은 사용해야 할 것 같습니다.-[NSString stringByAddingPercentEscapesUsingEncoding:]Apple 문서를 참조하십시오.
또 다른 의견은 오래된 타이머로서 ASC가 아닌 것을 넣는 것이 약간 불편하다는 것입니다.원본 파일의 II 문자입니다.그렇긴 하지만, 이 애플 문서는 10.4부터, UTF-16 문자열은 내부에서 괜찮다고 말합니다.@"..."어떻게든 GCC는 Latin-1의 소스 파일을 이진법에서 UTF-16으로 올바르게 변환하는 것처럼 보이지만, 7비트 ASCII 문자는 소스 코드 안에서만 사용하고 사용하는 것이 가장 안전하다고 생각합니다.NSLocalizedString.
당신의 악센트가 있는 캐릭터들은 무언가를 벗어 던지고 있는 것 같습니다. -stringByAddingPercentEscapeUsingEncoding:에 의해 처리되지 않을 것입니다.
문자열이 있는 NSURL URL:URL이 RFC 2396을 준수하지 않고 이스케이프해야 하는 경우 0을 반환합니다.
링크에서 rfc2396을 읽으면 많은 세부 정보를 얻을 수 있습니다.
문제가 되는 캐릭터가 어디에 있는지 확인하기 위해 찾은 훌륭한 사이트, URL에 대한 경로 옵션을 선택합니다.
http://www.websitedev.de/temp/rfc2396-check.html.gz
업데이트: 이후stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding지금은 더 이상 사용되지 않습니다. 사용해야 합니다.stringByAddingPercentEncodingWithAllowedCharacters
[stringURL stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
다음은 사용자의 경우에 따라 설정된 허용 문자 목록입니다.
+ (NSCharacterSet *)URLUserAllowedCharacterSet;
+ (NSCharacterSet *)URLPasswordAllowedCharacterSet;
+ (NSCharacterSet *)URLHostAllowedCharacterSet;
+ (NSCharacterSet *)URLPathAllowedCharacterSet;
+ (NSCharacterSet *)URLQueryAllowedCharacterSet;
+ (NSCharacterSet *)URLFragmentAllowedCharacterSet;
참조: https://developer.apple.com/reference/foundation/nsstring/1411946-stringbyaddingpercentencodingwit
전달된 문자열 형식이 잘못된 경우 URLWithString: 호출에서 0을 반환합니다.NSURL은 형식이 잘못된 URL에 대해 0을 반환하므로 NSL은 문자열을 기록하고 중단점을 설정하여 NSURL 생성 방법으로 전달되는 내용을 정확히 확인합니다.URLWithString이 하드 코딩된 값으로 작동하는 경우, 전달하는 모든 것이 잘못된 형식임을 보여주는 추가 증거입니다.보다
NSString 없이 NSURL을 직접 사용할 수 있습니다.
//.h 파일
@interface NewsBrowser : UIViewController {
UIWebView *webView;
NSURL *NewsUrl;
}
@property (nonatomic, retain) IBOutlet UIWebView *webView;
@property(nonatomic,assign)NSURL *NewsUrl;
@end
//.m 파일
[webView loadRequest:[NSURLRequest requestWithURL:NewsUrl]];
그리고 다른 보기(NewsUrl 변수 사용)에서 이 보기로 URL을 전달합니다.
먹어봐.
언급URL : https://stackoverflow.com/questions/1981390/urlwithstring-returns-nil
'programing' 카테고리의 다른 글
| MySQL 구문:이게 뭐야? (0) | 2023.07.29 |
|---|---|
| 크롬의 요소 검사기에서 CSS 규칙이 회색으로 표시되는 것은 무엇을 의미합니까? (0) | 2023.07.29 |
| iPhone WebKit CSS 애니메이션으로 인해 깜박임 발생 (0) | 2023.07.29 |
| ASP.NET MVC 3 - 요청한 항목을 찾을 수 없습니다.Net Framework 데이터 공급자 (0) | 2023.07.29 |
| 숫자의 형식을 지정하는 방법? (0) | 2023.07.29 |