1

フィルターを変更しようとすると問題が発生します。

私のviewDidLoadでこれを行います:

filter = [[GPUImageSepiaFilter alloc] init];
[videoCamera addTarget:filter];
filterView = (GPUImageView *)self.view;
[filter addTarget:filterView];

filterView は GPUImageView *filterView; を使用して .h で宣言されます。

私の問題はこの方法にあります:

-(void)changeEffect
{
[videoCamera removeAllTargets];
[filter removeAllTargets];
filter = [[GPUImageColorInvertFilter alloc] init];
[videoCamera addTarget:filter];
[filter addTarget: filterView];
}

命令 [filter addTarget: filterView] で、次のエラーが表示されます: * キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '* -[__NSArrayM insertObject:atIndex:]: オブジェクトを nil にすることはできません'

4

1 に答える 1

0

追加する前に、おそらくこれを行う必要があります

filterView = (GPUImageView *)self.view;
于 2013-09-04T06:30:19.200 に答える