IBOutlet获得nil的问题

时间:2009-08-07 07:02:19

标签: iphone objective-c cocoa cocoa-touch

我的EAGLView类中有一个类“A”的实例,它在EAGLView的initWithCoder方法中实例化。

此类“A”包含UIView的IBOutlet。

我还在Interface Builder中有一个类“A”的实例,用于将类“A”IBOutlet连接到相应的视图。

所以类“A”正在实例化两次,第一次是Interface Builder,在awakeFromNib方法中,IBOutlet工作正常。然而它已经被EAGLView再次实现了,这次连接到UIView的插座显然没有连接到UIView所以它没有。

从设计角度来看,我能做些什么来避免这个问题? ,我真的非常清楚希望它足够清楚。

2 个答案:

答案 0 :(得分:2)

不要从EAGLView的initWithCoder:方法实例化类“A”。 NIB加载器已经为您创建了这个实例;你不应该再创造它。您是否认为需要在initWithCoder:中创建它?

答案 1 :(得分:0)

您可能希望在EAGLView类中为“A”类创建一个IBOutlet,并在Interface Builder中将其连接起来,而不是在代码中第二次实例化“A”。