2012-03-20 4 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은 무엇이고이 경우 무엇을하고 있습니까?

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

로 : 여기

@interface TestAVViewController : UIViewController <AVCaptureVideoDataOutputSampleBufferDelegate> 

@property AVCaptureSession *session; 

@end 

애플의 TestAVViewController.m 파일에 추가해야하는 코드입니다 : 여기

애플의 TestAVViewController.h 파일에 추가해야하는 코드입니다 (Apple이 제공하지 않는) 두 섹션을 모두 추가하면 다음 줄은 컴파일 오류가 발생하지 않게됩니다.

[self setSession:session]; 

컴파일 오류를 방지하는 "session = ivarSession"은 무엇입니까? 왜 이것이 애플의 코드 작업을 만드는가?

답변

0

추가 한 코드는 멤버 변수를 만들고 초기화합니다.

코드를 올바르게 복사 했습니까? 내가 연결 한 페이지에서보고있는 버전은 session이고, - (void)setupCaptureSession 메시지의 맨 위에 정의되고 초기화되어 있으며, 이것이 사용 된 유일한 메시지입니다. 이것은 정말로 멤버 변수가 아니라 로컬 변수 여야합니다.