zoukankan      html  css  js  c++  java
  • 《从零开始学Swift》学习笔记(Day60)——Core Foundation框架

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

    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原生数据类型有对应关系。

                           

    看看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_关东升。
    关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
      ​
    更多精品iOS、Cocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com
    智捷课堂论坛网站:http://51work6.com/forum.php

  • 相关阅读:
    Ajax World 名人堂
    Chrome Flash插件的手动安装方法
    2009年郭红俊的工作
    动画缓冲或叫缓动函数(Animation Easing)
    2008年郭红俊的工作
    Android下调整多媒体音量方法
    游戏中按概率播放某个音效简单c++实现
    string转int 等(转)
    .NET简谈面“.NET技术”向接口编程 狼人:
    改善代码设计 —— 处理概括关系(Dealing w“.NET技术”ith Generalization) 狼人:
  • 原文地址:https://www.cnblogs.com/iOS-Blog/p/5132554.html
Copyright © 2011-2022 走看看