1
我已經成立了一個NSTableView
,其列綁定到一個NSArrayController
從一個NSMutableArray
(Matches
)獲取其內容NSMutableDictionary
實例。NSTableView的內容不被刷新正確
雖然事情是工作,我遇到了這個問題:
當Matches
陣列進行更新(這可能真的很經常發生),表視圖可能無法更新,但是當視圖重新繪製(例如,當我最小化並重新加載我的應用程序時)內容顯示得很好。
有關於此的任何想法?我怎麼能使它重繪視圖/更新內容?
提示:
- 我也用
[tableView reloadData]
更新我Matches
後陣,但沒有效果。 - 這不會發生在所有的時間,但有些時候......(這是需要一定的耐心,點擊這裏或最小化的應用程序,內容出現之前)。
手動發佈KVO通知應該是最後的手段。更好的做法是使用[符合KVO標準的索引訪問器方法](https://developer.apple.com/library/mac/documentation/cocoa/conceptual/KeyValueCoding/Articles/AccessorConventions.html#//apple_ref/doc/uid/20002174 -SW4)來改變數組。我甚至更喜歡發送消息給控制器。如果您手動發出KVO通知,最好使用數組特定的'-willChange:valuesAtIndexes:forKey:'和'-didChange:valuesAtIndexes:forKey:'。他們允許觀察員做出更有效的迴應。 –
非常感謝!它**可以工作......(Baaah!我已經使用了表格和綁定以及1000次的東西,而且我仍然不斷地丟失東西 - 儘管我過去肯定偶然發現了它們,並且可能也修復了它們...) –