2010-06-17 52 views
0

我正在爲使用Cocoa的MongoDB編寫一個GUI。這很順利,但我不知道如何製作將被延遲加載的KVO屬性。一個人如何處理?面對一百萬個NSArray項目的可可綁定

例如,查看Mongo集合中的文檔。該集合可能有一百萬個項目。我懷疑我不應該將完整的2-5 GiB數據下載到我的Cocoa應用程序,然後格式化並顯示20行。如何實現呢?

我打電話給我的項目Mongo Explorer,可以在GitHub上找到。具體而言,我將如何編碼-[MECollection reload]懶惰?我是否需要爲我的NSTableView實現數據源委託?

+0

愚蠢的挑剔,但Objective-C約定將使用' - [MECollection reload]'而不是'MECollection#reload'。 – 2010-06-17 18:50:57

+0

我不確定哪個是約定。感謝您指點我正確的方向。 – 2010-06-19 17:34:33

回答

1

您可以在NSArrayController子類中管理延遲加載,也可以通過實施NSTableView數據源委託來管理延遲加載。前者更普遍(您可以將其用於其他視圖類型),但後者可能更容易。

+0

我將使用數據源委託。正如你所說,這很容易。 – 2010-06-19 17:32:22

相關問題