码迷,mamicode.com
首页 > 编程语言 > 详细

《从零開始学Swift》学习笔记(Day60)——Core Foundation框架

时间:2017-07-04 20:24:36      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:text   name   indent   bsp   pos   概念   cin   os x   margin   

创文章,欢迎转载。转载请注明:关东升的博客  

Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API。尽管在Swift中调用这样的C语言风格的API比較麻烦,可是在OS XiOS开发过程中,有时候使用CoreFoundation框架的API是很方便的,比如在与C语言混合编码的时候。

Core Foundation框架与Foundation框架紧密相关,他们具有与同样的接口,可是不同。Core Foundation框架是基于C语言风格的,而Foundation框架是基于Objective-C语言风格的。

OS XiOS程序代码中常常会有多种语言风格的代码混合在一起的情况。这使得我们开发变得更加麻烦。

 

数据类型映射

Core Foundation框架提供了一些不透明的数据类型。这些数据类型封装了一些数据和操作。他们也能够称为“类”,他们都继承于CFType类,CFType是所用Core Foundation框架类型的根类。这些数据类型在Foundation框架中都有相应的数据类型与之相应,这些数据类型也有一些与Swift原生数据类型有相应关系。

技术分享


看看Swift原生类型Core Foundation类型之间的转换演示样例:

import CoreFoundation

import 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_关东升。


关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
 
?技术分享
很多其它精品iOSCocos、移动设计课程请关注智捷课堂官方站点:http://www.zhijieketang.com
智捷课堂论坛站点:http://51work6.com/forum.php

 

 

《从零開始学Swift》学习笔记(Day60)——Core Foundation框架

标签:text   name   indent   bsp   pos   概念   cin   os x   margin   

原文地址:http://www.cnblogs.com/mfmdaoyou/p/7117866.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!