我有一个nib文件,想要将一些元素连接到一个类中的方法(这是AppDelegate),一些元素连接到另一个类(它只是一个NSObject)。因此架构看起来像这样
buttonOne - > [mainClass设置] buttonTwo - > [auxCalss set] textFieldOne - > mainClass.field textFieldTwo - > auxClass.field
两个[set]动作连接到两个类并且工作正常,但只有textField一个连接到mainclass,也就是AppDelegate。
TextFieldTwo不起作用(来自auxClass中的[field setStringValue:]调用。在mainClass applicationDidFinishLaunching方法中分配了一个auxClass实例。
我认为这是问题 - 运行时无法将某些元素连接到auxClass,因为它还不存在。但是当我在[auxClass set:]中的一个方法上休息时,它显示auxClass.field连接到除NULL之外的其他东西。
一般来说,除了最简单的例子之外,我认为这是一个糟糕的设计模式 - 除了像标签视图这样两个标签功能在两个不同的类中。
当我实例化auxClass时,是否需要在AppDelegate的幕后进行一些“nib加载魔法”?
答案 0 :(得分:1)
您不应在代码中分配/初始化auxClass的新副本;它已经在你的笔尖完成了。只需在mainClass中创建一个IBOutlet,并将它在Interface Builder中连接到nib中的auxClass对象。请参阅此recent SO question。