話題としてはかなり古いものになってしまうんですが、
Modulesとかsemantic importって呼ばれるものについてです。
参考 : @import vs #import - iOS 7 (http://stackoverflow.com/questions/18947516/import-vs-import-ios-7)
Appleのサンプルコードなどで、最近はimportの大半が@import UIKit;
なんて
表現されているのに実際使っているアプリで書いてみると
エラーが出て使えないのでよく分からない記述だなと思ってたんですが
Xcode5あたりで新規作成したprojectからデフォルトでYESになっている機能だったようです。
基本的に古いprojectをベースにして開発したり、アップデートすることが多いので
これに気づくのが遅れました。普通に#import
でも動いてたので。
この機能を利用するためには、BuildSettings
からEnable Modules (C and Objective-C)
をYESにする必要があります。
(※古いプロジェクトでは、デフォルトがNOになっている)
これによって、わざわざframeworkのヘッダファイルを解析しなくて良くなるということです。
参考記事にあるように、これまで
#import <Cocoa/Cocoa.h>
などのように書いていた箇所は
@import Cocoa;
で置き換えられます。
また、一部のヘッダファイルのみを呼び出したい場合も以下のように記述できるようです。
@import iAd.ADBannerView;