1

我在尝试更改过滤器时遇到问题。

在我的 viewDidLoad 我这样做:

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

filterView 在 .h 上用 GPUImageView *filterView 声明;

我的问题在于这种方法:

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

在指令 [filter addTarget: filterView] 我收到此错误:* 由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序,原因:'* -[__NSArrayM insertObject:atIndex:]: object cannot be nil'

4

1 回答 1

0

您可能必须在添加之前执行此操作

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