【问题标题】:Undeclared Identifier After Import of Controller导入控制器后未声明的标识符
【发布时间】:2013-07-05 04:45:48
【问题描述】:

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

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

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

【问题讨论】:

    标签: iphone ios uiview import uitableview


    【解决方案1】:

    您需要获取对其他 viewController 的引用。如果您尚未声明或从某个地方获取它,则不能只调用“centerView”。最合乎逻辑的地方是prepareForSegue:。在这些论坛中有很多关于如何做到这一点的例子。只需搜索 prepareForSegue:。你可能会有类似的东西:

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

    假设 centerView 是您的 Second ViewController 上的一个属性。

    【讨论】:

    • 但是视图实际上并不是 ViewController 的一部分,它实际上是 UITableViewCell 的一部分
    • 所以你有一个自定义的 UITableViewCell 类?然后您需要在创建时引用您的自定义单元格 (cellForRowAtIndexPath:) 以访问 centerView。除非您显示更多代码或提供更多描述,否则很难准确评论
    • 是的,我有一个单独的课程。我只是希望能够根据不同视图控制器中的整数来更改 centerView 的颜色。
    • 嗯,这很容易做到,但这一切都取决于你如何设置一切。另一个视图控制器在您的应用程序的视图链中的位置将影响您的编码方式(向前传递信息或使用委托将其发回)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    相关资源
    最近更新 更多