Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 导入控制器后未声明的标识符_Iphone_Ios_Uiview_Import_Uitableview - Fatal编程技术网

Iphone 导入控制器后未声明的标识符

Iphone 导入控制器后未声明的标识符,iphone,ios,uiview,import,uitableview,Iphone,Ios,Uiview,Import,Uitableview,我想根据不同视图控制器中的整数更新名为centerView的视图的颜色。因此,我导入了创建centerView的控制器的.h文件,然后编写了代码: if (integer < 30){ centerView.backgroundColor = [UIColor yellowColor]; } if(整数

我想根据不同视图控制器中的整数更新名为centerView的视图的颜色。因此,我导入了创建centerView的控制器的.h文件,然后编写了代码:

if (integer < 30){
    centerView.backgroundColor = [UIColor yellowColor];
}
if(整数<30){
centerView.backgroundColor=[UIColor yellowColor];
}

但它无法识别centerView是什么。我做错了什么?

您需要获取对其他viewController的引用。如果您没有声明或从某处获得它,就不能直接调用“centerView”。执行此操作最合理的位置是prepareForSegue:。在这些论坛中,有许多具体的例子可以说明如何做到这一点。只需搜索prepareForSegue:。您可能会有以下情况:

SecondViewController *svc = [segue destinationViewController];

if (integer < 30){
    svc.centerView.backgroundColor = [UIColor yellowColor];
}
SecondViewController*svc=[segue destinationViewController];
if(整数<30){
svc.centerView.backgroundColor=[UIColor yellowColor];
}

假设centerView是第二个ViewController上的属性。

但是该视图实际上不是ViewController的一部分,而是UITableViewCell的一部分,那么您有自定义的UITableViewCell类吗?然后,您需要在创建时引用自定义单元格(CellForRowatineXpath:)以访问centerView。除非您显示更多的代码或提供更多的描述,否则很难精确地注释,我有一个单独的类。我只是希望能够根据不同视图控制器中的整数更改centerView的颜色。这很容易做到,但这取决于您如何设置所有内容。另一个视图控制器在应用程序视图链中的位置将影响您如何对其进行编码(向前传递信息或使用委派发送信息)。