1

次のコードがあります。

(void)loadStateChanged:(NSNotification*)notification
{
     if ([[movie attributeForKey:QTMovieLoadStateAttribute] longValue] >= kMovieLoadStatePlayable)
     {
      [[NSNotificationCenter defaultCenter] removeObserver:self];

      long movieScale = [[movie attributeForKey:QTMovieTimeScaleAttribute] longValue];

      [movie setCurrentTime:QTMakeTime(0, movieScale)];

      [movie play];
 }

そして、それはこのエラーをスローしています:

エラー: 'kMovieLoadStatePlayable' が宣言されていません (この関数で最初に使用)

kMovieLoadStatePlayable は QuickTime フレームワークに属していると思います。私のプログラムには QTKit と QuickTime フレームワークの両方がありますが、ここでエラーが発生する理由がわかりません。私はそれがこれらのフレームワークと関係があることを知っています。

4

1 に答える 1

2

このシンボルを使用するソース ファイルに #import がありますか?

フレームワークをプロジェクトにドラッグするだけでは、そのヘッダーをすべてのソース ファイルで使用できるようにはなりません (コンパイルが大幅に遅くなります)。各ソース ファイルが使用するすべてのフレームワークのアンブレラ ヘッダーを明示的に含める必要があります。

すべてのソース ファイルでフレームワークを使用することが確実な場合は、プレフィックス ヘッダーに #import を追加します。

于 2009-07-27T23:07:40.467 に答える