#import vs @import
在xcode 5 下,為了更易於開發,增加了modules和 auto-linking 這兩個新特性。用 @import 來增加框架 到專案中比用 #import會更有效. 我們來看看為什麼:
"Modules for system frameworks speed build time and provide an alternate means to import APIs from the SDK instead of using the C preprocessor. Modules provide many of the build-time improvements of precompiled headers with less maintenance or need for optimization. They are designed for easy adoption with little or no source changes. Beyond build-time improvements, modules provide a cleaner API model that enables many great features in the tools, such as Auto Linking."
Modules and auto-linking
預設情況下是enabled的。 如果是舊的專案,你可以通過設定"Language - Modules." 來設定Enable Modules 和Link Frameworks Automatically 為Yes。
另外一個使用moudules的好處是你再也不用去連結你的framework到你的專案了。例如,在以前,如果你要使用MapKit這個框架,你要這樣做1) 使用語句 #import <MapKit/MapKit.h> 匯入框架2) 去到專案的build phases 設定項,找到MapKit.framework.並加入到Link Binary With Libraries裡面。如果使用modules的話,只需要加入語句 "@import MapKit;" 你就可以開始使用了,根本不需要連結到你的專案。
當然, @import只能引入以框架形式出現的檔案, 所以, 比如你要引入一個自定義cell的標頭檔案是不能用這個的
相關文章
- require()、import、import()有哪些區別?UIImport
- Python import相關內容區別介紹( import *** as 、from***import )PythonImport
- export/importExportImport
- SCSS @importCSSImport
- CSS @importCSSImport
- eslint-plugin-import 規則之 Import / OrderEsLintPluginImport
- Import Error: cannot import name ‘export_saved_modelImportErrorExport
- 徹底搞懂Python 中的 import 與 from importPythonImport
- vite css importViteCSSImport
- idea import配置IdeaImport
- @import註解Import
- python基礎--自定義模組、import、from......import......PythonImport
- link和@import引入css 區別,不建議使用@importImportCSS
- from bson import ObjectIdImportObject
- from selenium import webdriverImportWeb
- openGauss lo_importImport
- pycharm import 報錯PyCharmImport
- Spring註解之@ImportSpringImport
- 關於 Python 的 importPythonImport
- python from import 出錯PythonImport
- Python Package Import 之痛PythonPackageImport
- 重構smart-importImport
- China Tightens Recycling Import RulesImport
- nodejs中 import 與 asyncNodeJSImport
- require 和 import 詳解UIImport
- Python __import__() 函式PythonImport函式
- import,export的支援[nodejs]ImportExportNodeJS
- ImportError: cannot import name parseImportError
- 【解決方法】vscode import cv2報錯Import "cv2" could not be resolvedPylancereportMissingImportsVSCodeImport
- cannot import name '_psutil_linux'ImportLinux
- link和@import的區別Import
- Export/import Datas To/from a Csv FileExportImport
- @import與<link> 的區別Import
- 少用@import引入CSS檔案ImportCSS
- require 和 import 的區別?UIImport
- import和require的區別ImportUI
- 【idea_取消自動import .*】IdeaImport
- 當執行import vue from ‘vue‘ 或其它import xxx from ‘xxx‘ 時發生了什麼?ImportVue
- [Typescript] Verbatim Module Syntax Enforces Import TypeTypeScriptBATImport