2009-12-15 44 views
3

我真的很希望有人能幫助解決這個問題,因爲我在學習可可,並且遇到了障礙。綁定 - 主控細節陣列控制器

我想模擬一個簡單的撲克錦標賽。現在,我的實體只是一個錦標賽(有一個號碼)和一個玩家(有一個名字)。錦標賽有一系列的球員。

我可以綁定兩個獨立的表視圖來顯示比賽和玩家就好了。但我希望玩家表格視圖只顯示屬於來自第一個表格視圖的選定錦標賽的玩家。

每個都有它自己的陣列控制器。我已經嘗試了第二個(球員)表的各種不同的綁定,但無濟於事。有沒有人完成這個?如果是這樣,也許你可以爲我拼出來,因爲我在線上的例子很少。

  • 更新 我現在可以幾乎得到我需要的地方,主要是通過rial和錯誤和谷歌搜索小時。我已經將玩家AC的內容綁定到比賽AC上,並使用控制器鍵'selected objects'和Model Key Path'players',這是我的Tournament實體中數組的名稱。

我已經在播放器表格視圖中爲第二個播放器AC,控制器鍵排列對象綁定了列。但是在模型關鍵路徑中應該放什麼?我知道這是有效的,因爲如果我在那裏堅持@count,我會得到所選錦標賽的正確數量的球員。但是'name'和'player.name'並不好。有什麼可以嘗試的'item.name'或'players.item.name'嗎?

的sooo密切,感謝您的幫助迄今: alt text http://i50.tinypic.com/s30oq0.png

回答

4

我認爲this tutorial會幫助你。他們還創建主/細節視圖。

簡而言之:將玩家陣列控制器的contentArray綁定到錦標賽的陣列控制器,將ControllerKey設置爲selection,並將其餘屬性相應地設置爲您的模型。

+0

好的,該教程看起來非常有用 - 感謝鏈接,我現在正在通過它。 我目前的項目使用核心數據,實體模型和託管對象上下文。這對於常規綁定工作正常,並且具有我可以以編程方式創建對象時啓動(並將它們插入到相同的上下文中)的好處。這種行爲至關重要。 本教程使用字典對象而不是常規屬性,當然沒有MOC。這將需要對我現有的命令行應用程序進行徹底的重寫。我應該重新開始嗎? 我願意重新開始,但 – 2009-12-15 18:30:29

+0

只是看看網站,還有一個核心數據教程(與綁定)http://cocoadevcentral.com/articles/000085.php最後,你必須決定什麼適合您的需求更好。 – 2009-12-15 18:45:11

+0

謝謝。我只是想檢查我是不是完全錯誤的軌道上,這聽起來像任何一種方法是有效的。我已經掌握了核心數據和綁定,但不是核心數據和主 - 細節表視圖的組合。我會環視cocoadev。 – 2009-12-15 19:03:44

0

我在這裏找到了答案:

Implementing parent->child drill down in Cocoa with Core Data bindings that span multiple entities

  • 子控制器需要通過自己的綁定知道managedObjectContext。
  • 子控制器不能處於實體模式,而是作爲NSMutableDictionary類運行。
  • 最後,子控制器不準備其數據。它通過內容集綁定從父級檢索它。使用控制器鍵選擇以及連接到子級的模型鍵路徑。

我很驚訝這不是一個比較常用的做法,並希望下一個閱讀本文的人不花這麼長時間找到答案!

+0

如果數組中的對象是託管對象,則應相應地設置數組控制器。如果它們不是NSMutableDictionaries,那絕對不應該設置爲NSMutableDictionary。不要對可可撒謊 - 只會導致問題。菲利克斯的回答是正確的。 – 2009-12-18 10:40:43

相關問題