Xcode - 一个笔尖,两个类 - 第二类的插座没有连接?

时间:2011-03-24 21:22:28

标签: cocoa xcode nib

我有一个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加载魔法”?

1 个答案:

答案 0 :(得分:1)

您不应在代码中分配/初始化auxClass的新副本;它已经在你的笔尖完成了。只需在mainClass中创建一个IBOutlet,并将它在Interface Builder中连接到nib中的auxClass对象。请参阅此recent SO question