《從零開始學Swift》學習筆記(Day60)——Core Foundation架構

來源:互聯網
上載者:User

標籤:text   name   indent   bsp   pos   概念   cin   os x   margin   

創文章,歡迎轉載。轉載請註明:關東升的部落格  

Core Foundation架構是蘋果公司提供一套概念來源於Foundation架構,編程介面面向C語言風格的API。儘管在Swift中調用這樣的C語言風格的API比較麻煩,可是在OS X和iOS開發過程中,有時候使用CoreFoundation架構的API是很方便的,比如在與C語言混合編碼的時候。

Core Foundation架構與Foundation架構緊密相關,他們具有與同樣的介面,可是不同。Core Foundation架構是基於C語言風格的,而Foundation架構是基於Objective-C語言風格的。

在OS X和iOS程式碼中常常會有多種語言風格的代碼混合在一起的情況。這使得我們開發變得更加麻煩。

 

資料類型映射

Core Foundation架構提供了一些不透明的資料類型。這些資料類型封裝了一些資料和操作。他們也能夠稱為“類”,他們都繼承於CFType類,CFType是所用Core Foundation架構類型的根類。這些資料類型在Foundation架構中都有相應的資料類型與之相應,這些資料類型也有一些與Swift原生資料類型有相應關係。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />


看看Swift原生類型與Core Foundation類型之間的轉換示範範例:

import CoreFoundationimport Foundation var cfstr1: CFString = "Hello,World"     //建立CFString字串 var str: String = cfstr1 as String           //將CFString字串轉換為Swift原生字串String var cfstr2: CFString = str                   //將Swift原生字串String轉換為CFString字串

這個轉換過程中Core Foundation類型轉換為Swift原生類型是須要強制類型轉換的。

 

 

 

歡迎關注關東升新浪微博@tony_關東升。


關注智捷課堂公用平台,瞭解最新技術文章、圖書、教程資訊
 ?

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />
很多其它精品iOS、Cocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com
智捷課堂論壇網站:http://51work6.com/forum.php

 

 

《從零開始學Swift》學習筆記(Day60)——Core Foundation架構

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.