《从零开始学Swift》学习笔记(Day60)——Core Foundation框架
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原生数据类型有对应关系。
看看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,如需转载请自行联系原作者
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《从零开始学Swift》学习笔记(Day58)—— Swift编码规范之变量或常量声明规范
声明是在声明变量、常量、属性、方法或函数和自定义类型时候需要遵守的规范。 首先变量或常量时每行声明变量或常量的数量推荐一行一个,因为这样以利于写注释。示例代码如下。 推荐使用: 1 2 letlevel= 0 varsize= 10 不推荐使用: 1 letlevel= 0 ;varsize= 10 变量或常量的数据类型,如果有可能应尽可能采用类型推断,这样代码很简洁。示例代码如下。 推荐使用: 1 2 letlevel= 0 varsize= 10 不推荐使用: 1 2 letlevel:Int= 0 varsize:Int= 10 如果不是默认数据类型,需要明确声明变量或常量的数据类型。示例代码如下。 1 2 letlevel:Int8= 0 varsize:Int64= 10 在指定数据类型时候需要使用冒号(:),size与冒号之间没有空格,冒号和数据类型之间要有一个空格。示例代码如下。 推荐使用: 1 2 letlevel:Int8= 0 varsize:Int64= 10 不推荐使用: 1 2 letlevel:Int8= 0 varsize:Int64= 10 使用数据类型...
- 下一篇
《从零开始学Swift》学习笔记(Day 53)——do-try-catch错误处理模式
Swift 1.x的错误处理模式存在很多弊端,例如:为了在编程时候省事,给error参数传递一个nil,或者方法调用完成后不去判断error是否为nil,不进行错误处理。 1 2 3 4 5 6 letcontents=NSString(contentsOfFile:filePath, encoding:NSUTF8StringEncoding,error:nil) //error参数传递一个nil 或者 varerr:NSError? letcontents=NSString(contentsOfFile:filePath, encoding:NSUTF8StringEncoding,error:&err) 不好的编程习惯,由于Objective-C和Swift 1.x没有强制处理机制,因此一旦真的发生错误,程序就会发生崩溃。 同样的从文件中读取字符串示例,如果使用Swift2错误处理模式代码如下: 1 2 3 4 5 6 7 8 import Foundation do { //要做一些操作 letstr= try NSString(contentsOfFile:f...
相关文章
文章评论
共有0条评论来说两句吧...