objective-c - iOS里像CGContextRef这样以Ref结尾的是基于什么原理
天蓬老师
天蓬老师 2017-04-17 11:45:34
[iOS讨论组]

发现iOS里有很多类似CGContextRef这样的定义,查看api文档发现是定义为指向一个结构的指针

typedef struct CGContext * CGContextRef;

不知道这样的用法是出于什么样的考虑才这么用的。是单纯了为了应用不同环境而区别命名还是说有内存使用方面的考虑?望高手指教

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(4)
高洛峰

Ref是CoreFoundation对象的命名规则。看到Ref结尾就知道这是一个CF对象了。

高洛峰

基本是就是Taoge回答的。CGContextRef这样的指针是C的指针,和Cocoa的对象指针有差别。最常见的就是现在大家都用ARC来管理内存,Cocoa对象被申请了就不需要程序员再去考虑怎么释放它,编译器会帮我们的忙。而你用了CGContextRef这样的指针,编译器不会帮你的忙,你需要自己决定何时用完,何时释放。

Cocoa本身也是要用这些底层技术的帮助才能写出来的,C语言万岁!Apple帮助Mac/iOS程序员,Apple万岁!

迷茫

这个没有什么特殊的意义吧,不要纠结这些表达方式上面!

PHP中文网

CG开头声明的变量采用C方式分配内存,会有一个相对应的CG开头的释放内存的方法,比Ui开头的方法更底层!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号