2012-05-29 59 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