原創(chuàng)文章昙啄,歡迎轉(zhuǎn)載唇跨。轉(zhuǎn)載請注明:關(guān)東升的博客
Core Foundation框架是蘋果公司提供一套概念來源于Foundation框架脏款,編程接口面向C語言風(fēng)格的API钮科。雖然在Swift中調(diào)用這種C語言風(fēng)格的API比較麻煩,但是在OS X和iOS開發(fā)過程中奄喂,有時候使用Core Foundation框架的API是非常方便的铐殃,例如在與C語言混合編碼的時候。
Core Foundation框架與Foundation框架緊密相關(guān)跨新,他們具有與相同的接口背稼,但是不同。Core Foundation框架是基于C語言風(fēng)格的玻蝌,而Foundation框架是基于Objective-C語言風(fēng)格的蟹肘。在OS X和iOS程序代碼中經(jīng)常會有多種語言風(fēng)格的代碼混合在一起的情況,這使得我們開發(fā)變得更加麻煩俯树。
數(shù)據(jù)類型映射
Core Foundation框架提供了一些不透明的數(shù)據(jù)類型帘腹,這些數(shù)據(jù)類型封裝了一些數(shù)據(jù)和操作,他們也可以稱為“類”许饿,他們都繼承于CFType類阳欲,CFType是所用Core Foundation框架類型的根類。這些數(shù)據(jù)類型在Foundation框架中都有相應(yīng)的數(shù)據(jù)類型與之對應(yīng)陋率,這些數(shù)據(jù)類型也有一些與Swift原生數(shù)據(jù)類型有對應(yīng)關(guān)系球化。
看看Swift原生類型與Core Foundation類型之間的轉(zhuǎn)換示例:
import CoreFoundation
import Foundation
var cfstr1: CFString = "Hello,World" //創(chuàng)建CFString字符串
var str: String = cfstr1 as String //將CFString字符串轉(zhuǎn)換為Swift原生字符串String
var cfstr2: CFString = str //將Swift原生字符串String轉(zhuǎn)換為CFString字符串
這個轉(zhuǎn)換過程中Core Foundation類型轉(zhuǎn)換為Swift原生類型是需要強制類型轉(zhuǎn)換的。