1. ホーム
  2. objective-c

[解決済み] 角括弧 < > と引用符 " " を使って #import する。

2022-07-14 08:20:58

質問

の使用可否は何で決まるのでしょうか? <Header.h> または "Header.h" というように、Objective-Cでファイルをインポートするときに、引用符を使用します。これまでのところ、私の観察では、引用符の "" を、実装ソースを取得したプロジェクト内のファイルには山括弧 <> で囲み、ライブラリやフレームワークを参照する場合は角括弧で囲みます。

しかし、それは具体的にどのように機能するのでしょうか?私自身のクラスがブラケットを使用できるようにするには、何をしなければならないのでしょうか?今現在、Xcode は私自身のヘッダーに対してそれを行うことを許可してくれません。

また、いくつかのフレームワークのヘッダーを見てみると、ヘッダーがお互いを参照するために <frameworkname/file.h> . どのように その はどのように機能するのでしょうか?Javaにおけるパッケージとよく似ていますが、私の知る限り、Objective-Cにはパッケージというものはありません。

どのように解決するのですか?

Objective-C は C/C++ と共通で、引用形式はファイルの "local" インクルード用です(現在のファイルからの相対パスを指定する必要があります、例えば #include "headers/my_header.h" 一方、アングルブラケット形式は "global" include -- コンパイラに渡された include パスのどこかにあるもの (例. #include <math.h> ).

ですから、独自のヘッダを持つには < > ではなく " " の場合、ヘッダディレクトリの相対パスか絶対パスをコンパイラに 渡す必要があります。参照 Xcodeでグローバルインクルードパスを追加する方法」を参照してください。 を参照してください。

参照 このMSDNページ を参照してください。