簡體   English   中英

使用NSTreeController過濾NSOutlineView的子級

[英]Filtering children of NSOutlineView with NSTreeController

我正在開發使用Core數據的Mac應用程序。 我正在使用NSOutlineView和NSTreeController綁定視圖上的數據。

您可以假設我的數據結構為

  • 父項1
    • 兒童項目1
    • 子項2
    • 兒童項目3
  • 父項2
    • 兒童4
    • 兒童5

我將fetchPredicate應用於我的NSTreeController以成功過濾數據。 另一方面,fetchPredicate僅應用於數據的第一級(應用於父項)。

我需要一種可以將fetchPredicate也應用於子項的方法。 例如,如果我的標准與子項1和子項4相匹配,則結果應為

  • 父項1
    • 兒童項目1
  • 父項2
    • 兒童4

任何幫助將不勝感激。

您正在應用提取謂詞。 NSTreeController不支持過濾謂詞。 NSTreeController使用fetch謂詞來獲取頂級對象,並使用children關系來獲取child。 不獲取子項,並且不使用獲取謂詞來獲取子項。

解決方案1:實現一個計算所得的屬性filteredChildren ,例如以下問題: 過濾樹控制器,並在以下不相關的答案中提到: 是否可以將NSTreeController綁定到NSOutlineViewDataSource?

解決方案2:使用數據源代替綁定,上面的答案中也提到了綁定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM