我的 EAGLView 类中有一个类“A”的实例,它在 EAGLView 的 initWithCoder 方法中实例化。
此类“A”包含 UIView 的 IBOutlet。
我在 Interface Builder 中还有一个此类“A”的实例,用于将类“A”IBOutlet 连接到相应的 View 。
因此类“A”被实例化两次,第一次由 Interface Builder 实例化,其中在 awakeFromNib 方法中,IBOutlet 工作正常。然而它再次被 EAGLView 实例化,这次连接到 UIView 的 socket 显然没有连接到 UIView,所以它是 nil。
从设计角度来看我可以做什么来避免这个问题? ,我真的尽力说得非常清楚,希望它足够清楚。
最佳答案
不要从 EAGLView 的 initWithCoder:
方法实例化类“A”。 NIB 加载程序已经为您创建了这个实例;你不应该再次创建它。您是否有理由认为需要在 initWithCoder:
中创建它?
关于iphone - IBOutlet 为零的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1243328/