NSURL / NSURLComponents

12500 단어
여기 에는 '1 차원 데이터 형식' 이 무엇 인지 직관 적 으로 설명 할 수 있 는 설명 이 있다. number 나 string 은 다양한 값 으로 포맷 되 어 수학 연산 이나 특정한 변환 방법 을 통 해 그들의 값 을 계산 할 수 있다.16 진수 색상 값 #EE8262 의 빨간색 과 파란색 삼원 색 의 값 은 마스크 나 이동 연산 을 통 해 얻 을 수 있다.정규 표현 식 은 소량의 문자 중 복잡 한 견본 을 통 해 일치 할 수 있다.
모든 1 차원 데이터 형식 에서 URI 지극히 높 은 지 위 를 가지 고 있다.인간 이 읽 을 수 있 는 문자열 만 있다 는 점 에서 컴퓨터 에 존재 하고 위치 정 보 를 인 코딩 할 수 있 는 모든 데이터 에 영원히 존재 할 것 이다.
가장 기본 적 인 표현법 에서 URI 는 하나의 scheme 과 하나의 hierarchical part 로 구성 되 어 있 으 며 query 와 fragment 가 있 습 니 다.
Text
 :  [ ?  ] [ #  ]

HTTP 와 같은 많은 프로 토 콜 에서 일정한 규범 구 조 를 정의 합 니 다. 예 를 들 어 username, password, port, 그리고 hierarchical part 의 path:
네트워크 프로 그래 밍 에 대한 탄탄 한 이 해 는 URL 의 각 부분 에 대한 완전한 익숙 함 에 뿌리 를 두 었 다.소프트웨어 개발 엔지니어 로 서 프로 그래 밍 언어 표준 라 이브 러 리 에 URI 를 지휘 하 는 기능 이 있 음 을 의미 합 니 다.
만약 어떤 언어 가 표준 라 이브 러 리 에 URL 모듈 이 없다 면, 당신 은 이 언어 를 뛰 어 나 가 야 합 니 다 (걸 을 수 없습니다! 반드시 뛰 어야 합 니 다!). 이것 은 진정한 프로 그래 밍 언어 가 아 닙 니 다.
Foundation 라 이브 러 리 에서 NSURL URL 을 대표 합 니 다.NSURL  통과 가능  URLWithString:  유형 방법 을 예화 하 다.
Objective-C
NSURL *url = [NSURL URLWithString:@"http://example.com"];

만약 입력 값 이 합 법 적 인 URL 이 아니라면, 이 방법 은 하 나 를 되 돌려 줍 니 다.  nil  값 1
우 리 는 몇 주 전에 도착 했다.  NSString  path 처리 에 관 한 잔류 기능 도 있 지만, 이러한 기능 은 처리 에 대하 여  NSURL  너무 귀찮아 서 요.손잡이  NSString  으로 전환 하 다  NSURL  가 져 온 추가 전환 비용 은 이 일 을 그다지 편리 하 게 하지 못 하 게 한다. 너 는 항상 이 위 에 시간 을 써 야 한다.하나의 값 이 URL 이 라면 저장 되 어야 합 니 다.  NSURL 이 두 가지 유형 을 헷 갈 리 게 하 는 것 은 게 으 르 고 무모 한 API 디자인 이다.
추가 알림: @@ 창설  NSURL  @@"http://example.com", 어때요? 편리 하 죠?NSURL  한 가지 방법 이 있어 요.  +URLWithString:relativeToURL:  base URL 주소 와 관련 문자열 에 따라 URL 을 구성 할 수 있 습 니 다.이 방법의 행 위 는 하위 디 렉 터 리 / 기호 에 대한 처리 로 인해 매우 혼 란 스 럽 고 무질서 하 게 변 했다.
여기 에는 이 방법의 전형 적 인 참고 가 있다.
Objective-C
NSURL *baseURL = [NSURL URLWithString:@"http://example.com/v1/"];

[NSURL URLWithString:@"foo" relativeToURL:baseURL];
// http://example.com/v1/foo

[NSURL URLWithString:@"foo?bar=baz" relativeToURL:baseURL];
// http://example.com/v1/foo?bar=baz

[NSURL URLWithString:@"/foo" relativeToURL:baseURL];
// http://example.com/foo

[NSURL URLWithString:@"foo/" relativeToURL:baseURL];
// http://example.com/v1/foo

[NSURL URLWithString:@"/foo/" relativeToURL:baseURL];
// http://example.com/foo/

[NSURL URLWithString:@"http://example2.com/" relativeToURL:baseURL];
// http://example2.com/

URL Components NSURL  근거 RFC 2396 URL 의 모든 부분의 값 을 가 져 오 는 데 사용 할 accessor 방법 을 정의 합 니 다.
–  absoluteString  –  absoluteURL  –  baseURL  –  fileSystemRepresentation  –  fragment  –  host  – lastPathComponent  –  parameterString  –  password  –  path  –  pathComponents  –  pathExtension  – port  –  query  –  relativePath  –  relativeString  –  resourceSpecifier  –  scheme  –  standardizedURL –  user NSURL 공식 문서 문서 와 샘플 은 각종 URL 구성 부분 을 숙지 할 수 있 는 절 호의 참고 입 니 다.
사용자 이름과 비밀 번 호 를 URL 로 저장 할 수 있 지만 사용 하 는 것 을 권장 합 니 다.  NSURLCredential  사용자 이름과 비밀 번 호 를 불 러 오고 키 체인 으로 저장 하 는 것 이 좋 습 니 다.
NSURLComponents
애플 은 iOS 7 과 OS X Mavericks 에 몰래 추 가 했 습 니 다.  NSURLComponents 이렇게 하면 완벽 하 게 대체 할 수 있다.  NSMutableURL 됐어 요.그러나 문서 가 아직 완선 되 지 않 았 기 때문에 이 종 류 는 최근 에 Foundation 이 새로 추 가 된 유형 중 하나 입 니 다.
창설  NSURLComponents  인 스 턴 스 와 생 성  NSURL  실례 적 인 방법 은 많 지 않 습 니 다. 하 나 를 통 해  NSString  필요 하지 않 은 base URL 인자 와 만 들 기 +componentsWithString: &  +componentsWithURL:resolvingAgainstBaseURL: )。되다  alloc init  빈 용 기 를 만 들 고,  NSDateComponents  많 지 않다.NSURL  화해시키다  NSURLComponents  다른 점 은 URL component 속성 은  readwrite  라 고 적 었 다.URL 의 각 부분 을 수정 하 는 안전 하고 직접적인 방법 을 제공 합 니 다.scheme user password host port path query fragment
불법 scheme 이나 port 를 할당 하려 고 시도 하면 이상 을 던 집 니 다.
그리고 NSURLComponents 있다  readwrite  속성 은 각 component 에 대해 [percent - encoded] 를 진행 합 니 다.percentEncodedUser percentEncodedPassword percentEncodedHost percentEncodedPath percentEncodedQuery percentEncodedFragment
이러한 percent encoding 속성 에 대한 get 작업 은 retain 을 증가 시 킬 수 있 습 니 다.set 작업 은 기본적으로 이 component 가 올 바른 encode 라 고 생각 합 니 다.불법 percent encode 값 을 할당 하려 고 시도 하면 이상 이 발생 합 니 다.비록합 법 적 인 경로 문자 이지 만 percent - encoded 에서 NSURL 을 호 환 하 는 것 을 권장 합 니 다 -stringByAddingPercentEncodingWithAllowedCharacters:URLPathAllowedCharacterSet 인 자 는 모든 ';' 문자 percent - encode '를 사용 합 니 다.
Percent-Encoding
percent - encoding 하면...NSURL  맞다.  CFURLRef  전환 이음매 가 없다밑 에 C API 가 있어 요.  NSURL  의 모든 기능.포함 CFURLCreateStringByAddingPercentEscapes 와 CFURLCreateStringByReplacingPercentEscapesUsingEncoding 이상:CFURLCreateStringByAddingPercentEscapes: 문자열 의 복 사 를 만 들 고 같은 의미 의 percent - encoded 문자 로 기 존 문 자 를 대체 합 니 다.
Objective-C
CFStringRef CFURLCreateStringByAddingPercentEscapes (
   CFAllocatorRef   allocator,
   CFStringRef      originalString,
   CFStringRef      charactersToLeaveUnescaped,
   CFStringRef      legalURLCharactersToBeEscaped,
   CFStringEncoding encoding
);
CFURLCreateStringByReplacingPercentEscapesUsingEncoding: 기 존의 모든 대체 가능 한 문 자 를 같은 의미 의 percent - encoded 문자 로 대체 하 는 새 문자열 을 만 듭 니 다.
Objective-C
CFStringRef CFURLCreateStringByReplacingPercentEscapesUsingEncoding (
   CFAllocatorRef   allocator,
   CFStringRef      origString,
   CFStringRef      charsToLeaveEscaped,
   CFStringEncoding encoding
);

Bookmark URL
마지막 화 제 는 bookmark URL 에 관 한 것 입 니 다. bookmard URL 은 여러 번 시작 할 때 파일 을 안전하게 참조 할 수 있 습 니 다.옳다 고 볼 수 있다 파일 설명자 의 지구 화.
하나의 bookmark 는 파일 위 치 를 설명 하 는 유일한 데이터 형식 입 니 다.  NSData  대상path 와 파일 참조 URL 이 여러 번 시작 되 는 동안 파 괴 될 수 있 음 을 감안 하여 bookmark 는 파일 의 URL 주 소 를 재 구축 하 는 데 사 용 될 수 있 습 니 다. 파일 이 이름 을 바 꾸 거나 위 치 를 이동 하 더 라 도 가능 합 니 다.
애플 의 공식 파일 시스템 프로 그래 밍 가이드 의 'Locating Files Using Bookmarks' 부분 에서 bookmark URL 에 대한 내용 을 더 읽 을 수 있 습 니 다.
로켓 가방 을 분사 하 는 것 을 잊 고 날 아 가 는 자동 차 를 잊 어 버 리 세 요. 미래 에 대한 나의 구상 을 보 세 요. 모든 것 은 하나의 URL 이 있 습 니 다. Markdown 코드 로 Git 으로 저장 합 니 다!만약 당신 이 우주 자원 위치 추적 기 에 관심 이 있다 면, 당신 은 나의 생각 에 동의 할 것 입 니 다!
하이퍼텍스트 처럼 통용 표 지 는 철학 개념 으로 통용 표지 이념 은 컴퓨터 시대 보다 먼저 제기 되 었 고 인류 정보 체계 에 도 오래 존재 할 것 이다.이러한 유 니 버 설 표 시 는 우리 정보 시대 의 구 조 를 대표 할 수 있다. 하 나 는 우리 가 우주 에 대한 모든 이 해 를 하나의 네트워크 에서 실체 로 하 는 구조 이다. 이것 은 매우 멋 지고 우리 의 뇌 에 많은 신경 원 이 존재 하 는 것 과 같다.
우 리 는 물리 적 으로 계 산 된 한 무 기 대 폭발 위험 에 처 해 있다.얼마 지나 지 않 아 이런 상황 이 나타 날 것 이다. 인터넷 으로 구 성 된 세계 에서 우리 생활 의 모든 부분 은 URL 이 있 고 전자 화 된 뇌 도 있 으 며 디지털 화 된 정신과 의식 을 가진다.비록 기이 한 점 이 다가 오고 있다 고 말 할 수 는 없 지만, 우 리 는 알 수 없 지만 믿 을 수 없 는 기묘 한 사물 의 가장자리 에 있 으 며, 곧 그것 이 다가 오 는 것 을 느 낄 것 이다.
세 계 는 항상 이렇다. 고양이 사진 을 서로 교환 하 는 기술 은 항상 매우 깊 은 철학 적 의 미 를 담 고 있다.

좋은 웹페이지 즐겨찾기