ios - 'imgView' 的本地声明隐藏实例变量(应用程序崩溃)

标签 ios objective-c warnings

如果我调试我的应用程序。该应用程序在这行代码中崩溃,我收到此警告:

警告:

Local declaration of 'imgView' hides instance variable

代码行:

[brightnessFilter forceProcessingAtSize:imgView.sizeInPixels]; 

代码块:

- (IBAction)sliderBrightness:(id)sender {

    UIImage *inputImage = imgView.image;

    sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage smoothlyScaleOutput:YES];
    brightnessFilter = [[GPUImageBrightnessFilter alloc] init];

    GPUImageView *imgView = (GPUImageView *)self.view;
    [brightnessFilter forceProcessingAtSize:imgView.sizeInPixels]; 

    [sourcePicture addTarget:brightnessFilter];
    [brightnessFilter addTarget:imgView];

    [sourcePicture processImage];
}

有人可以帮我解决这个问题吗?

最佳答案

安德烈为您提供了基础知识。非常具体。

这是您当前的代码:

- (IBAction)sliderBrightness:(id)sender {

    UIImage *inputImage = imgView.image; // <--- This line refers to an instance var

    sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage smoothlyScaleOutput:YES];
    brightnessFilter = [[GPUImageBrightnessFilter alloc] init];

    GPUImageView *imgView = (GPUImageView *)self.view; <--- This line defines a local
    [brightnessFilter forceProcessingAtSize:imgView.sizeInPixels]; 

    [sourcePicture addTarget:brightnessFilter];
    [brightnessFilter addTarget:imgView];

    [sourcePicture processImage];
}

查看我添加的以“<--- This line”开头的注释。第一个标记您对实例变量 imgView 的引用。

第二个注释标记了一个地方,您可以在其中定义一个具有相同名称 imgView 的不同局部变量。

如果您打算使用不同的局部变量,请将该名称更改为其他名称,例如

    GPUImageView *theGPUimgView = (GPUImageView *)self.view; 

如果您打算更改实例变量,则将其赋值,并去掉变量声明:

   imgView = (GPUImageView *)self.view;

我猜您想要第二种情况,即更改实例变量的内容,但我不确定。这是你的代码。

关于ios - 'imgView' 的本地声明隐藏实例变量(应用程序崩溃),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23632088/

相关文章:

objective-c - 如何枚举 OS X 应用程序中的所有钥匙串(keychain)项目?

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

ios - 如何将 Ubuntu 上的 Ionic 项目导出到 iOS?

ios - 如何跟踪数组中的哪些项目已经存在?

ios - 为什么我无法在调试器中打印该变量的值?

iphone - NSDictionary 的描述性变量名称

ios - Objective C 类扩展方法

iphone - 使用 NSMutableArray 进行 map 注释

ios - 如何将 UIKit 类或方法标记为已弃用?

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP