2012-03-20 7 views
0

Appleの "QA:1702:How to capture video frames from the camera as images using AV Foundation"は、追加のivarコードなしで "壊れています"。Appleの「QA:1702:AVフレームを使用してビデオフレームをキャプチャする方法」を「固定」しました。なぜivarは働くのですか?

私は修正を発見しました - しかし、何がivarであり、この場合何をしていますか?ここで

は、AppleのTestAVViewController.hファイルに追加する必要があるコードは次のとおりです。

@interface TestAVViewController : UIViewController <AVCaptureVideoDataOutputSampleBufferDelegate> 

@property AVCaptureSession *session; 

@end 

ここでは、AppleのTestAVViewController.mファイルに追加する必要がありますコードです:ことで

@implementation TestAVViewController 
@synthesize session=ivarSession; // this creates an ivar 

は、 (Appleが提供していない)これらのセクションを両方追加すると、次の行はコンパイルエラーの発生を止めます:

[self setSession:session]; 

"session = ivarSession"は、コンパイルエラーを防止する何をしていますか?なぜそれがAppleのコードを動作させるのですか?

答えて

0

追加したコードは、メンバー変数を作成して初期化します。

コードを正しくコピーしてもよろしいですか?私があなたがリンクしているページで見ているバージョンはsessionで、- (void)setupCaptureSessionメッセージの先頭に定義され、初期化されています。これはそれが使用されている唯一のメッセージです。これは本当にメンバー変数ではなくローカル変数でなければなりません。

関連する問題