我“修复”Apple的“QA:1702:如何捕获视频帧...使用AV Foundation”。为什么ivar工作?

时间:2012-03-20 19:15:32

标签: ios avfoundation video-capture image-capture

Apple" QA:1702:How to capture video frames from the camera as images using AV Foundation"在没有额外的ivar代码的情况下被打破了#34;

我找到了一个修复 - 但是什么是伊娃,在这种情况下它做了什么?

以下是必须添加到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];

什么是&#34; session = ivarSession&#34;这样做是为了防止编译错误?为什么它会使Apple的代码有效?

1 个答案:

答案 0 :(得分:0)

您添加的代码会创建并初始化成员变量。

您确定正确复制了代码吗?我在您链接到的页面上查看的版本session已定义并初始化在- (void)setupCaptureSession消息的顶部,这是它用于的唯一消息。这应该是本地的变量,而不是成员变量。