0

我的問題涉及到Interface Builder和一個IKImageBrowserView沒有實現我期望的綁定。IKImageBrowserView似乎不能正確綁定

我有一個相當長的關鍵路徑到達一個NSArrayController,我想在IKImageBrowserView中顯示其內容。

這是我綁定NSTextField的顯示模式綁定到AppDelegate的 [email protected]t的關鍵路徑。 這工作得很好,給了我屬於當前順序的圖像數組中未經驗證的項目數量,這是它應該達到的目標。

當我試圖向IKImageBrowserView的content以下關鍵路徑結合:在AppDelegate中的currentOrder.imagesArray.unvalidatedImages.arrangedObjects,Interface Builder中沒有給出錯誤,但我好像沒有進入任何東西代替的作用。當我點擊回檢查員時,綁定鍵路徑再次變爲空白。

但它確實記錄以下到控制檯: Ignoring exception related to working with bindings: NSUnknownKeyException, [<NSCustomObject> addObserver:<IKImageBrowserView ...> forKeyPath:@"currentOrder.imagesArray.unvalidatedImages.arrangedObjects" ...] was sent to an object that is not KVC-compliant for the "currentOrder" property.

我的AppDelegate實現currentOrder爲@財產保留和所有子鍵也@properties。我可以肯定,這些屬性是KVC-好的,因爲上面的NSTextField能夠讀取沒有問題的更改。有趣的是,IKImageBrowserView的selectionIndexes能夠綁定到...unvalidatedImages.selectionIndexes,它只是content不能。

我已經實現了一種解決方法,即將NSArrayController放入我的nib文件中,並將內容數組綁定到...arrangedObjects,然後將IKImageBrowserView綁定到數組控制器,但會很樂意擁有整潔的解決方案,或者至少知道我是否做錯了什麼。

謝謝!

回答

1

您是否嘗試在應用程序委託中實施<IKImageBrowserDataSource>的方法,並使用_dataSource連接而不是綁定?這適用於我,並且Apple tutorial你是如何做到的。

你基本上只需要實現– numberOfItemsInImageBrowser:– imageBrowser:itemAtIndex:來提供數據,這不算太壞。稍微棘手的部分是實現一個<IKImageBrowserItem>類來包裝你的數據,但即使這不需要大量的努力。上面鏈接的教程應該有很大的幫助。