- 《从零开始学Swift》学习笔记(Day60)——Core Fo
- 《从零开始学Swift》学习笔记(Day 2)——使用Web网站
- 《从零开始学Swift》学习笔记 (Day 58)—— Swif
- 《从零开始学Swift》学习笔记(Day 63)——Cocoa
- 《从零开始学Swift》学习笔记(Day 59)——代码排版
- 《从零开始学Swift》学习笔记(Day 62)——Core F
- 《从零开始学Swift》学习笔记(Day 61)——Core F
- ASP.NET Core开发异常页面
- 《从零开始学ASP.NET CORE MVC》: Asp.Net
- 《从零开始学ASP.NET CORE MVC》: ASP.NET
原创文章,欢迎转载。转载请注明:关东升的博客
Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API。虽然在Swift中调用这种C语言风格的API比较麻烦,但是在OS X和iOS开发过程中,有时候使用Core Foundation框架的API是非常方便的,例如在与C语言混合编码的时候。
Core Foundation框架与Foundation框架紧密相关,他们具有与相同的接口,但是不同。Core Foundation框架是基于C语言风格的,而Foundation框架是基于Objective-C语言风格的。在OS X和iOS程序代码中经常会有多种语言风格的代码混合在一起的情况,这使得我们开发变得更加麻烦。
数据类型映射
Core Foundation框架提供了一些不透明的数据类型,这些数据类型封装了一些数据和操作,他们也可以称为“类”,他们都继承于CFType类,CFType是所用Core Foundation框架类型的根类。这些数据类型在Foundation框架中都有相应的数据类型与之对应,这些数据类型也有一些与Swift原生数据类型有对应关系。
![](https://img.haomeiwen.com/i1012207/06542a87ce1b5f76.gif)
看看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原生类型是需要强制类型转换的。
网友评论