1

这一定是我见过的最奇怪的事情。因此,我将从使用 IB 创建的对象中设置一个事件处理程序,然后我将编写一些代码,例如:

[connectedObjectViaIB setBackgroundColor:[UIColor blackColor]];

也试过:

connectedObjectViaIB.backgroundColor = [UIColor blackColor];

即使事件处理程序被调用,并且确实通过了这段代码(用断点测试),背景也没有被设置。插座似乎没有连接,即使它看起来是。这发生在其他几个 IB 对象和其他属性设置器上。有人经历过吗?

4

1 回答 1

4

从它的声音来看(代码正在运行,但没有看到任何变化),您调用此代码为时过早。

在视图控制器中,只有在运行基础之后,才会连接任何出口viewDidLoad。在此之前,所有出口变量的值将为零。

像您这样的代码不起作用的常见情况是从prepareForSegue方法调用时 - 目标视图控制器的视图尚未加载,因此出口为零。

另一个是在初始化一个新控制器之后——同样,视图还没有加载。

于 2012-05-28T07:13:20.643 回答