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

简介:

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

wKiom1bdBzWTXj4_AAKt44FvAc4610.jpg


看看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,如需转载请自行联系原作者

相关文章
|
7月前
|
NoSQL 关系型数据库 数据库
Swift 服务器框架对比
Swift 服务器框架对比
116 0
|
7月前
|
机器学习/深度学习 人工智能 物联网
大模型时代,还缺一只雨燕 | SWIFT:魔搭社区轻量级微调推理框架
伴随着大数据的发展和强大的分布式并行计算能力,以预训练+微调的模型开发范式渐渐成为深度学习领域的主流。 2023年各家推出的大模型浩如烟海,如GPT4、Llama、ChatGLM、Baichuan、RWKV、Stable-Diffusion等。这些模型在达到越来越好的效果的同时也需要越来越多的算力资源:全量finetune它们动辄需要几十至上百G显存训练部署,一般的实验室和个人开发者无力承担。
|
Swift
swift(MJRefresh框架)的使用
swift(MJRefresh框架)的使用
888 0
|
程序员 API Swift
swift微博第11天(三方框架的导入和手动导入的桥接以及swift单粒)
swift微博第11天(三方框架的导入和手动导入的桥接以及swift单粒)
152 0
swift微博第11天(三方框架的导入和手动导入的桥接以及swift单粒)
|
Swift
Swift学习笔记——页面跳转
创建一个single view app后,项目中有main.storyboard,里面是一个viewcontroller。 那么我们如何实现页面跳转 首先添加一个导航控制器Navigation Controller。点击右上的➕,然后选择控件拖到面板上即可
1150 0
|
前端开发 测试技术 Swift
Swift学习笔记——新建项目
在xcode菜单中选择 new -> project -> single view app 点击next在弹出窗中填写项目名称 这里languge有可以选择object-c或swift作为项目语言。这里我们学习swift,所以选择swift。 如果language选择swift,下面的user interface可以选择swiftUI和storyboard。 SwiftUI是2019 年 WWDC 大会上,苹果在压轴环节向大众宣布了基于 Swift 语言构建的全新 UI 框架,与flutter类似,是用代码编写页面,支持快速预览。
667 0
|
Swift
swift语言IOS8开发战记22 Core Data3
    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。
953 0
|
数据库 Swift
swift语言IOS8开发战记21 Core Data2
        新年到了,祝大家大家羊年快乐,喜气洋洋。上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。
827 0
|
存储 数据库 数据库管理
swift语言IOS8开发战记20 Core Data1
     Core Data字面意思就是核心数据,但它其实并不是一个数据库,它是一个框架,就像我们之前经常用到的Foundation一样,我们做持久化的时候,使用Core Data非常方便。
967 0