Objective C 에서 다른 라이브러리같은 헤더파일을 가져올 때 #import 키워드를 사용하여 가져온다.
해당 키워드는 C, C++의 #include 와 동일하다.
Objc 언어로 프로그래밍을 하다보면 Import 할 때
#import <Header.h> 처럼 꺽쇠로 라이브러리 명을 가져오는 경우도 있고
#import "Header.h" 처럼 쌍따옴표로 라이브러리를 가져오는 경우가 있는데 둘의 차이점은 아래와 같다.
#import <Header.h>
시스템 파일에서 해당 파일을 가져오는 것으로, Objc 컴파일러는 로컬 파일이 아닌 시스템 파일에서 지시한 파일을 찾는다.
전역의 의미를 포함한 것으로, 컴파일러에 전달된 포함 경로의 어딘가에 있는 것을 의미한다.
#import "Header.h"
시스템 파일이 아닌 로컬 파일 ( 개발자가 만든 파일 )에 사용되며, 시스템에게 그 파일을 어디서 찾아야 하는지를 알려준다.
큰 따옴표를 쓰면 컴파일러는 먼저 현재 디렉터리에서 지시한 파일을 찾는다. (현재 파일에서 상대 경로를 지정해야 한다.) 그 후 다른 곳들에서 찾게 된다.
필요하다면 컴파일러가 검색할 실제 위치를 지정해줄 수 있다.
정리하자면 컴파일러는 <> 는 시스템 디렉터리에서 검색하게 되고, "" 는 로컬 디렉터리 기준으로 검색하게 된다는 것이다.
참고: https://stackoverflow.com/questions/1044360/import-using-angle-brackets-and-quote-marks
#import using angle brackets < > and quote marks " "
I'm wondering what decides whether you're allowed to use <Header.h> or "Header.h" when you're importing files in Objective-C. So far my observation has been that you use the quote marks "" for
stackoverflow.com