今日はObjective-C++名前空間をいじっていました。
Handle、Size、DurationはすでにObjC++で定義されていることがわかりました。それらは何であると定義され、どこで定義されていますか?
私は#importedFoundation/Foundation.hしか持っていません
今日はObjective-C++名前空間をいじっていました。
Handle、Size、DurationはすでにObjC++で定義されていることがわかりました。それらは何であると定義され、どこで定義されていますか?
私は#importedFoundation/Foundation.hしか持っていません
MacTypes.h
typedef char * Ptr;
typedef Ptr * Handle;
typedef long Size;
typedef SInt32 Duration;
これらはすべてCarbonよりも前のものです。名前空間がいっぱいになっても、Cocoaとは何の関係もありません。
コマンドキーを押しながらXcodeのシンボルをダブルクリックして、シンボルが定義されている場所を確認するか、[すばやく開く](Command-Shift-D)を使用してシンボル名を入力します。 Handle
、Size
およびDuration
は、たとえばCoreServicesフレームワークにあります。
競合を避けるために、グローバルObjective-C名には常に一意のプレフィックス(通常はイニシャルまたはプロジェクト名の短縮バージョン)を使用する必要があります。いくつかのObjective-Cスタイルガイドにリンクしているこの質問への回答を見てください。