2016-10-28 74 views
0

我將NSPredicateEditor添加到我的應用程序,以允許用戶搜索特定文件和文件類別。使用NSPredicateEditor,有沒有辦法讓所有Finder搜索類別免費?

Inteface Builder的默認NSPredicateEditor模板添加了一個僅包含「名稱」,「地址」和「符號」類別的控件。我正在尋找更具體的類別。

default interface builder NSPredicateEditor

我知道,我可以添加菜單項,在Interface Builder這些菜單,但我非常喜歡不保持列表自己的所有不同類別和值文件搜索的。

在Finder中,可以將多種類別和值添加到搜索中。

default categories for Finder searches

使用節能這個搜索,然後使用「獲取信息」上保存的SEACH文件夾的顯示用於生成Finder的NSPredicateEditor斷言:

((** = "this*"cdw) && 
(kMDItemContentTypeTree = "public.png"cd) && 
InRange(kMDItemLastUsedDate,$time.today(-2d),$time.today(+1d)) && 
InRange(kMDItemContentModificationDate,$time.today(-4d),$time.today(+1d)) && 
InRange(kMDItemContentCreationDate,$time.today(-8d),$time.today(+1d)) && 
(kMDItemDisplayName = "*screenshot*"cd) && (kMDItemTextContent = "content*"cdw)) 

點擊「其他」類別類型帶來了一個具有各種各樣的菜單更多特定類別。

Other Categories for Finder Search

我的問題是,如果從Finder中此相同的複雜,定製NSPredicateEditor加入「免費」給我的應用程序?或者我需要聲明並維護我的應用程序支持的所有搜索類型的列表?

回答

1

我的問題是,如果Finder中同樣複雜和自定義的NSPredicateEditor被免費添加到我的應用中?

不,這個NSRuleEditor是應用程序Finder的一部分。

是的,有一些額外的。一個類似的編輯器在打開/保存文件面板中。

+0

謝謝。當你說「是的,有一些額外的東西」時,你指的是什麼? – pkamb

+0

您不僅可以獲得規則編輯器,還可以獲得打開/保存文件面板的其餘部分。 – Willeke

+0

你是說有一個面板可以免費添加到任何應用程序,包括謂詞/規則以及打開/保存?如果是這樣,那是哪一類? – pkamb

1

有點晚了,但你應該看看MDSchema.h。 MDSchemaCopyAllAttributes將返回整個支持的Spotlight模式,MDSchemaCopyDisplayNameForAttribute將返回列表的顯示名稱,MDSchemaCopyDisplayDescriptionForAttribute將返回模式中每個項目的值類型。從這你可以建立你自己的NSRuleEditor。 NSPredicateEditor會更難,因爲你得到了很多內置的行爲,你必須重寫,但可能仍然有可能。

相關問題