所以我有一個NSSearchField通過綁定直接連接到一個NSArrayController,連接到filterPredicate,以便沒有任何代碼,用戶只需鍵入NSSearchField,過濾接口中呈現給他的NSArrayController中的對象列表(具體而言,是一個NSCollectionView)。與NSSearchField的Laggy接口通過綁定連接到一個NSArrayController
NSSearchField被連接起來提供實時搜索,以便NSCollectionView在用戶鍵入時立即進行過濾,而不是等待用戶停止輸入一小段時間後立即進行過濾。
但是,問題是這使得界面真的很滯後。鍵入顯着延遲了0.5-1秒,似乎NSCollectionView試圖爲用戶輸入的搜索字符串的每個部分對項目的每個重排進行動畫處理。
我想要的是讓搜索成爲現場直播,但在搜索字段中鍵入的內容是流暢的,並且結果要儘可能快地過濾。有沒有辦法通過綁定來做到這一點,或者我需要放入一些自定義代碼來觸發獨立線程上的filterPredicate?
(請注意,我有一個自定義排序算法建立在NSArrayController的,除去它似乎對大家有點幫助與laggyness,但不是全部。)