2012-05-29 62 views
1

我有一个基本的项目,只包含一个NSForm。我所要做的就是向它添加一些行。从我的理解,我应该能够做到这一点不知何故像下面这样:无法让NSForm工作?

- (void) awakeFromNib 
{ 
    NSLog(@"Test: %p", form); 
    [form addEntry: @"Hello World 1"]; 
    [form addEntry: @"Hello World 2"]; 
    [form addEntry: @"Hello World 3"]; 

    [form sizeToCells]; 
} 

我已经证实了我的形式是不为空(打印测试显示其地址),但我的形式仍然包含什么,但两当我将NSForm拖到我的视图上时显示的默认条目。

enter image description here

我要去哪里错了?

+0

不,出口已设定。如果没有,那么NSLog(@“Test:%@”表格)将会输出nil。虽然谢谢! – Kyle

回答

2

我刚刚玩了一阵子,这似乎是在awakeFromNib:这样做的问题。

在一个示例项目中,我在我的应用程序委托类中为NSForm做了一个插座。然后我将你的代码粘贴到applicationDidFinishLaunching:。它的工作原理(虽然在默认情况下选择了单元格中的图形故障)。

如果您真的需要逻辑进入awakeFromNib:,您可以使用自己的方法并使用performSelector:afterDelay:来调用它吗?

+0

嗯,很奇怪。我得到了这个工作,正如你所提到的(applicationDidFinishLaunching和performSelector:afterDelay:都有效,但是当我重新调整窗口大小后,他们都回到了显示'Field 1'和'Field 2'的位置。 – Kyle

+0

我以前从来没有听说过'NSForm' - 我必须在文档中查看它以确保你没有错误的类名!不知道苹果现在对它有多少爱,关于调整大小,我认为你会看到与新的自动布局功能的交互,如果你设置你的笔尖不使用它(第一个选项卡检查器右侧,关闭“使用自动布局”),它似乎为我工作。尽管提交错误:) –

+0

已提交错误报告!我还会使用'使用自动布局'信息进行更新,因为这为我解决了调整大小的问题。尽管如此,我仍然遇到了显示故障。希望他们能为我提供一些启示! – Kyle