对iPhone对象的更改未在iPhone模拟器中更新

时间:2012-07-06 14:25:39

标签: iphone objective-c xcode

我是Objective-c和iPhone的新手,但过去做过很多java编码。 撕掉关于v。基本的东西,我通常最终能找到答案,但不是这个!

我想要制作标签的背景颜色,代码如下。无论我做什么,当我在iPhone模拟器上运行时它都不会改变。那里有一些设置,我觉得我问的是一个非常愚蠢的问题,但实际上找不到答案。这是设置开发环境的问题吗?

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    NSLog(@"setting label to black color");
    self.colourLabel.backgroundColor = [UIColor blackColor];
}

3 个答案:

答案 0 :(得分:0)

请记住,在Objective-C中向nil个对象发送消息是正常的,因此问题可能是self.coulourLabel当时仍然是nil

您如何以及在何处实例化它?您是否设置了IBOutlet

答案 1 :(得分:0)

为什么不制作UILabel类型的IBOutlet,将其连接到界面构建器中的标签并执行:

  

yourLabel.backgroundColor = [UIColor whateverColor];

您是否将colorLabel设为属性?因为你不需要...除非你有两个你想要彼此沟通的单独的类。

答案 2 :(得分:0)

我以为我会留下一个答案,强调@Dima在这个问题的评论中提出的建议 - 即Project>清洁然后iOS模拟器>重置内容和设置。

我刚刚解决了在代码中创建的UIButton发生的类似问题,因此不可能是IBOutlet问题。当我在模拟器中运行时,我对代码所做的更改(甚至完全删除了属性)没有出现,即使在我的设备上它工作正常。我曾经认为干净就足够了,但直到我完成了重置内容和设置,才开始按照我的预期行事。

希望有人觉得这很有用......