博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《从零开始学Swift》学习笔记(Day60)——Core Foundation框架
阅读量:6118 次
发布时间:2019-06-21

本文共 890 字,大约阅读时间需要 2 分钟。

 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类型之间的转换示例:

1
2
3
4
5
6
7
8
import 
CoreFoundation
import 
Foundation
  
var cfstr1: CFString =
"Hello,World"     
//创建CFString字符串
  
var str: String = cfstr1as String           
//将CFString字符串转换为Swift原生字符串String
  
var cfstr2: CFString = str                   
//将Swift原生字符串String转换为CFString字符串

这个转换过程中Core Foundation类型转换为Swift原生类型是需要强制类型转换的。

本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1748349,如需转载请自行联系原作者

你可能感兴趣的文章
mybatis中获取sqlSession的源码分析
查看>>
Tomcat7项目迁移到Tomcat8中文乱码问题
查看>>
java中ibatis2直接执行my sql脚本
查看>>
自定义对象归档
查看>>
整理一下最近遇到的ie8兼容问题
查看>>
sitemesh3 简单使用
查看>>
linux时间同步ntp和rdate
查看>>
IE9的CSS Hack
查看>>
UVA 494
查看>>
好好活着,哈,比什么都好
查看>>
url 传空格时的几种情况
查看>>
apache cronlog 安装配置 转载
查看>>
centos7命令行模式到桌面模式(通过vnc访问桌面)
查看>>
1900美元,你想要机器女朋友,还是想要女朋友?
查看>>
Mybatis 3.1中 Mapper XML 文件 的学习详解
查看>>
WAV文件的大概格式如下(假设每个采样点16位编码,即2个字节)
查看>>
加密后的class文件如何修改
查看>>
前端团队开发工具
查看>>
Node.js 文件系统
查看>>
Mysql 多表联合查询效率分析及优化
查看>>