
日常
import 是 Objective-C 導入頭文件的關鍵字,完整地包含某個文件的內(nèi)容
1、會自動導入一次,不會重復導入
2、不會引發(fā)交叉編譯; 因為在 Objective-C 中會存在 C/C++ 和 Objective-C 混編的問題,如果用 #include 引入頭文件,會導致交叉編譯。
include C/C++ 導入頭文件的關鍵字,完整地包含某個文件的內(nèi)容.可能出現(xiàn)交叉編譯, OC 里面已經(jīng)沒有這個方式引入頭文件了, 統(tǒng)一使用 #import
@class 僅僅是聲明一個類名,并不會包含類的完整聲明.能解決循環(huán)包含的問題:當兩個類文件有循環(huán)依賴關系 ( A 引用 B , B 引用 A ) 時,需要用 @class
import<> 和 import""
<>: 引用系統(tǒng)文件,它用于對系統(tǒng)自帶的頭文件的引用,編譯器會在系統(tǒng)文件目錄下去查找該文件。
"": 用戶自定義的文件用雙引號引用,編譯器首先會在用戶目錄下查找,然后到安裝目錄中查。
Tip
重復引用:#import 可以使用不會出錯,#include 不可以避免錯誤 #include 會有重復引用的錯誤:A 類導入了 C 類的頭文件,B 類也導入了 C 類的頭文件,D 類又同時導入 A 和 B 類,這就是重復導入 #import則不會有重復引用的問題交叉引用:#import 和 #include 都不適合用,應該用 @class 的方法。A類導入B類的頭文件,B類導入A類的頭文件的情況