macOS 開發(fā) - 還在用 Pboard 類型?蘋果讓你用 UTType

來源:蘋果官方文檔

引入

蘋果建議過去 pasteboard 類型的形式不應該再用了武学,要盡可能使用 UTIs祭往。

Pboard 類型會在未來的發(fā)布里被棄用。在 macOS 10.6 和以后應該替換所有 pboard 類型的使用未 UTIs火窒,包括在Types for Standard Data (macOS 10.6 and later)中介紹的常量硼补。

概述

Uniform Type Identifiers(即 UTIs)是唯一標識抽象類型的字符串。它們可以被用來描述文件格式或內(nèi)存中的數(shù)據(jù)類型熏矿,但也可以被用來描述其它種類實體的類型已骇,比如目錄、用量或包票编。

類型聲明出現(xiàn)在二進制 property list褪储,告訴系統(tǒng)關于一個類型的一些事情。關于格式的詳細信息以及UTI的聲明可以在 Uniform Type Identifiers Overview里找到慧域。
聲明中包括的幾個關鍵概念:

  • 一致性鲤竹。一致性關系在類型之間建立了多個繼承體系。類型 property 值在運行時可能被繼承昔榴,根據(jù)每個類型的一致性關系宛裕。如果一個類型的聲明不包括特定類型 property 的值,然后類型的超類型會被用來搜尋值论泛。超類型被深度優(yōu)先搜索揩尸,順序就是類型聲明中給定的順序。這是唯一的方式屁奏,所以聲明的超類型順序是很重要的岩榆。
  • 標簽。標簽是指明類型的定義的字符串,用一些其他類型的認定算法勇边,比如文件名擴展或MIME類型犹撒。其他類型認定算法的命名空間被稱作它的。uniform type identifiers 通過類識別它們自己粒褒,所以有效的標簽類設置在未來可以被輕易擴展识颊。
  • 類型聲明也可能包含幾個其它 property:類型的本地化用戶描述,二進制聲明里圖標資源的名字奕坟,參考 URL 指明關于類型本身的技術文檔祥款,以及一個版本號,類型升級的時候可以遞增月杉。這些 property 全部都是可選的刃跛。

特征

創(chuàng)建 uniform type identifiers

func UTTypeCreatePreferredIdentifierForTag(CFString, CFString, CFString?)

為創(chuàng)建特定標簽指明的類型創(chuàng)建uniform type identifier。

func UTTypeCreateAllIdentifiersForTag(CFString, CFString, CFString?)

創(chuàng)建由特定標簽指明的類型的 uniform type identifiers 數(shù)組苛萎。

從 uniform type identifiers 獲得標簽

用一個不同的類型分類方法翻譯一個 uniform type identifier 為一列標簽桨昙。

測試 uniform type identifiers

func UTTypeEqual(CFString, CFString)

返回兩個 uniform type identifiers 是否相等。

func UTTypeConformsTo(CFString, CFString)

返回一個 uniform type identifier 是否符合另一個 uniform type identifier腌歉。

獲得額外類型信息

func UTTypeCopyDescription(CFString)

返回uniform type identifier相關的本地化的蛙酪、用戶可讀的類型描述字符串。

func UTTypeCopyDeclaration(CFString)

返回一個 uniform type 的聲明翘盖。

func UTTypeCopyDeclaringBundleURL(CFString)

返回類型包含聲明的二進制文件位置桂塞。

OSType Conversion Utilities

func UTCreateStringForOSType(OSType)

Encodes an OSType into a string suitable for use as a tag argument.
func UTGetOSTypeFromString(CFString)
Decodes a tag string into an OSType.

常量

Type Declaration Dictionary Keys

These are keys for values found in a UTI dictionary. For more information about UTI dictionaries, see [Uniform Type Identifiers Overview](Uniform Type Identifiers Overview).

Type Tag Classes
These strings identify other tagging classification schemes that a uniform type identifier can be converted to and from.

UTI Abstract Types
These are abstract uniform type identifiers that most other type identifiers are derived from.

UTI Concrete Types
These are uniform type identifiers for concrete types.

UTI Text Types
These are the uniform type identifiers for text content.

UTI Composite Content Types
Uniform type identifiers for content that includes multiple data types.

UTI Image Content Types
Uniform type identifiers for graphics content.

UTI Audio Visual Content Types
Uniform type identifier for audio and video content.

UTI Directory Types
Uniform type identifiers for different directory types.

UTI Application Types
Uniform type identifiers for application types.

UTI Contact Types
Uniform type identifiers for contact types.

UTI Miscellaneous Types
Uniform type identifiers for types that do not fit in other categories.

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市最仑,隨后出現(xiàn)的幾起案子藐俺,更是在濱河造成了極大的恐慌,老刑警劉巖泥彤,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件欲芹,死亡現(xiàn)場離奇詭異,居然都是意外死亡吟吝,警方通過查閱死者的電腦和手機菱父,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剑逃,“玉大人浙宜,你說我怎么就攤上這事∮蓟牵” “怎么了粟瞬?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長萤捆。 經(jīng)常有香客問我裙品,道長俗批,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任市怎,我火速辦了婚禮岁忘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘区匠。我一直安慰自己干像,他們只是感情好,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布驰弄。 她就那樣靜靜地躺著麻汰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪揩懒。 梳的紋絲不亂的頭發(fā)上什乙,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天挽封,我揣著相機與錄音已球,去河邊找鬼。 笑死辅愿,一個胖子當著我的面吹牛智亮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播点待,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼阔蛉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了癞埠?” 一聲冷哼從身側(cè)響起状原,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎苗踪,沒想到半個月后颠区,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡通铲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年毕莱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颅夺。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡朋截,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吧黄,到底是詐尸還是另有隱情部服,我是刑警寧澤,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布拗慨,位于F島的核電站廓八,受9級特大地震影響厦酬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瘫想,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一仗阅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧国夜,春花似錦减噪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至窄驹,卻和暖如春朝卒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乐埠。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工抗斤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人丈咐。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓瑞眼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親棵逊。 傳聞我的和親對象是個殘疾皇子伤疙,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容