2

このような AVCaptureDevice から継承されたクラスを作成しようとしています

MyClass.h ファイル内

@interface MyClass : AVCaptureDevice

しかし、initメソッドでAVCaptureDeviceインスタンスを「self」に割り当てるにはどうすればよいですか?

これが私のアプローチです(うまくいきません...)

MyClass.m ファイル内

- (id) init
{
    self = [super init];
    if(self)
    {
       NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
       AVCaptureDevice *captureDevice = [devices firstObject];
       self = (MyClass*)captureDevice;
       [self myClassMethod];
    }
    return self;
}

- (void) myClassMethod
{
    NSLog(@"Doesn't work");
}

NSInvalidArgumentException理由:「認識されないセレクターが-[AVCaptureFigVideoDevice test]:インスタンスに送信されました」。test は AVCaptureDevice のメソッドではないため、これは理にかなっています。

以前に行った別のアプローチは、AVCaptureDevice を MyClass クラスに含めることで、これは機能します。

しかし、この考えを実装するための良いアプローチを見逃していないかどうかはまだ疑問です。

ありがとうございました。

4

1 に答える 1