У меня есть подклассы NSOperation и - (void) main в порядке (так как он работал до использования NSOperation), я также прошел через метод init, и переменные инициализируются правильно.Все сложно после - (id) initWithSampleBuffer: сделано, и я пытаюсь добавить uploadOperation в NSOperationQueue:
UploadOperation *ulOp = [[UploadOperation alloc] initWithSampleBuffer:sampleBuffer];
[queue addOperation:ulOp]; //here i get exc_bad_access
[ulOp release];
Я получаю exc_bad_access.Я пробовал точки останова, и я вижу, что очередь существует, как и ulOp.Я не могу понять, что я делаю неправильно, поскольку, насколько я понимаю, exc_bad_access возникает, когда вы пытаетесь передать «сообщение» чему-то, что уже освобождено, и, очевидно, ни одно из них не является.
- (id)initWithSampleBuffer:(CMSampleBufferRef) aSampleBuffer {
sampleBuffer = aSampleBuffer;
VideoStreamViewController *vc = [VideoStreamViewController shared];
ul = [[Uploader alloc] initWithURL:[NSURL alloc] filePath:@"" delegate:vc doneSelector:@selector(didFinishUpload:) errorSelector:@selector(uploadFailed:)];
return self;
}
Однако, загрузка не является проблемой (я удалил ее и все еще получаю тот же результат).и из того, что я могу увидеть, нет проблем с объектом CMSampleBuffer, он инициализирован!
начало очереди:
в .ч .:
NSOperationQueue *queue;
@property (nonatomic, retain) NSOperationQueue *queue;
в .м:
@synthesize queue;
self.queue = [[NSOperationQueue alloc] init];
[queue setMaxConcurrentOperationCount:1];