Я "исправил" Apple QA: 1702: Как захватывать видеокадры ... используя AV Foundation. " Почему работает ивар? - PullRequest
0 голосов
/ 20 марта 2012

Apple " QA: 1702: Как захватывать видеокадры с камеры в виде изображений с использованием AV Foundation " "повреждено" без дополнительного кода 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 работать?

1 Ответ

0 голосов
/ 20 марта 2012

Код, который вы добавили, создает и инициализирует переменную-член.

Вы уверены, что правильно скопировали код? Версия, которую я смотрю на странице, на которую вы ссылаетесь, имеет session, определенную и инициализированную в верхней части сообщения - (void)setupCaptureSession, и это единственное сообщение, в котором оно используется. Это действительно должна быть локальная переменная, а не переменная-член.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...