2009-05-30 57 views

回答

4

您可能還想查看this tutorial(還有一個part two,其中詳述了無序樹)。

特別是,鏈接教程包含一個XCode項目,應該讓你開始。查看DragController.m以查看您將鏈接引用的代碼放在哪裏。

+0

我試過在你的鏈接中使用代碼,只需將拖動控制器添加到我的項目中,但它會停止工作的核心數據。 – Joshua 2009-05-30 17:38:22

+0

如果您從鏈接教程編譯並運行XCode項目,您應該看到所有內容都可以像拖放一樣播放。既然如此,這個例子似乎足以回答你所有的問題。我建議你仔細研究教程描述,並遵循所有的步驟,僅以DragController.m爲例。您不可能將其放入您的項目中。 – Naaff 2009-05-30 18:13:28

+0

我再看一眼。 – Joshua 2009-05-30 18:16:28

2

它們是委託/數據源方法,因此您可以將它們放入大綱視圖的委託和數據源中。通常這是您的控制器對象,但是您可以通過IB或編程方式連接連接。我實際上建議學習數據源和委託方法在使用綁定或核心數據之前是如何工作的,因爲綁定並不意味着替代較低級別代碼的知識(並且在綁定之前會遇到很多綁定問題對基礎知識有深刻的理解)。

另外,請記住NSTreeController自10.5以來有所改進,從我聽說你應該能夠在不使用私有方法的情況下獲得實際觀察對象。

+0

真的,有沒有關於如何獲得真正的觀察對象而不使用私有方法的教程? – Joshua 2009-05-31 06:24:56

+0

我將如何使用arrangeObjects實現拖放> – Joshua 2009-05-31 16:17:03

4

蘋果已經發布了一個解釋如何做到這一點的示例代碼。 http://developer.apple.com/library/mac/#samplecode/DragNDropOutlineView/Introduction/Intro.html

我發現這個好得多,然後我在互聯網上找到的所有其他樣本。

+0

啊,這非常好。當我回答這個問題時沒有注意到這一點。對於所有訪問這個問題,我建議使用這個答案,而不是其他。再次感謝。 – Joshua 2010-11-03 18:25:23

+0

請注意,此示例代碼目前僅適用於10.7+版本,因此如果您要支持舊版本,請不要打擾。如果有人知道如何獲得2009版本的示例代碼,請添加評論。 – Mark 2013-03-28 20:36:51

相關問題