这一直是我见过的最离奇的事情。所以我将从用IB创建的对象设置一个事件处理程序,然后我会编写一些代码:
[connectedObjectViaIB setBackgroundColor:[UIColor blackColor]];
也尝试过:
connectedObjectViaIB.backgroundColor = [UIColor blackColor];
即使事件处理程序被调用,并且确实经历了此代码(使用断点测试),背景也不会被设置。 Outlet似乎没有连接,即使它看起来是。这与其他几个IB对象和其他属性设置器一起发生。有人经历过这个吗?
答案 0 :(得分:4)
从它的声音(代码正在运行,但没有看到任何更改),您过早地调用此代码。
在视图控制器中,在运行基础viewDidLoad
之前,没有任何插座连接。在此之前,所有出口变量的值将为零。
像你这样的代码不起作用的常见情况是从prepareForSegue
方法调用时 - 目标视图控制器的视图尚未加载,因此出口为零。
另一个是在初始化新控制器之后 - 再次,视图尚未加载。