-
[Apple Dev Reference] NSURL Class 초간단소개 by Apple Reference앱등이에게 살충제를 뿌린다./Apple Dev Reference 2015. 12. 4. 00:08
Apple Developer 문서를 번역만 하였습니다.
<NSURL>
NSURL
NSURL은 리모트 서버의 데이터를 나타내는 주소값, 로컬디스크에 저장된 파일의 경로, 또는 실제 데이터를 나타내는 값 등을 나타내는 객체입니다.
URL객체를 통해 URL을 만들거나 그 안에 담긴 경로에 접근할 수 있게 됩니다. 로컬 파일을 나타내는 URL의 경우에는, 파일의 수정 날짜를 바꾸는 것처럼 파일의 특징을 다루고 수정할 수도 있습니다. 어쨋든, URL객체는 URL에 담긴 콘텐츠를 열어보기 위한 다른 API에 던져지는 역할을 하게 됩니다. 예를 들면, NSURLSession, NSURLConnection, NSURLDownload와도 같은 클래스들을 통해서 리모트 서버의 데이터에 접근할 수 있습니다. 방법은 URL Session Programming Guide를 참고하세요~!
URL객체는 로컬파일에 접근하기 위해서도 자주 사용합니다. 파일을 읽고 쓰는 역할을 하는 대부분의 객체에서 파일참조를 위해 NSURL객체를 사용하는 메소드를 제공하고 있습니다. 예를 들어, stringWithContentsOfURL:encoding:error:메소드를 통해 파일의 경로를 나타내는 NSString을 얻을 수 있습니다. dataWithContentsOfURL:options:error:메소드를 통해서는 NSData객체를 얻을 수도 있습니다.
URL은 앱간 통신에도 사용됩니다. OS X에서 NSWorkspace클래스는 openURL:메소드를 제공합니다. 이 메소드는 URL에 명시된 주소를 오픈하는 역할을 합니다. iOS에서도 UIApplication클래스가 이 메소드를 제공하고 있습니다.
추가로, pasteboards에 대한 작업에도 URL을 사용합니다.
**참고 : NSURL additions Reference (part of the AppKit framework.)
**Note
The NSURL class is "toll-free bridged" with its Core Foundation counterpart, CFURLRef. See Toll-Free Bridging for more information on toll-free bridging.
Structure of a URL
NSURL객체는 두 부분으로 구성됩니다. nil이 될 수도 있는 Base URL과 이 base URL에 상대적인 주소값을 나타내는 문자열로 구성됩니다.
아래와 같이 file:///path/to/web_root/를 base URL로 folder/file.html을 문자열파트로 구성할 수 있습니다.
이렇게 완전히 선언되면 절대URL값은 file:///path/to/web_root/folder/file.html이 됩니다.
URL은 구조에 기반하여 여러 부분으로 나눌 수 있습니다.
https://johnny:p4ssw0rd@www.example.com:443/script.ext;param=value?query=value#ref 라는 URL은 아래와 같이 나눌 수 있습니다.
Component
Value
https
johnny
p4ssw0rd
www.example.com
443
/script.ext
ext
["/","script.ext"]
param=value
query=value
ref
NSURL은 이 각 요소들에 접근할 수 있도록 Accessor메소드를 제공합니다.
출처 : https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/
'앱등이에게 살충제를 뿌린다. > Apple Dev Reference' 카테고리의 다른 글
[Apple Dev Reference] iOS에서 텍스트 프로그래밍하기 (0) 2016.02.21 [Apple Dev Reference] KVO - Key-Value Observing Programming Guide (2) 2016.01.17 [Apple Dev Reference] 앱 라이프사이클 The App Life Cycle (3) 2016.01.10 [Apple Dev Reference] UIWebViewDelegate 프로토콜에 있는 메소드들 (0) 2015.12.02 [Apple Dev Reference] URL관련 클래스들에 대해 알아보자. NSURL으로 시작하는 클래스들! (0) 2015.11.30