84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
发现iOS里有很多类似CGContextRef这样的定义,查看api文档发现是定义为指向一个结构的指针
typedef struct CGContext * CGContextRef;
不知道这样的用法是出于什么样的考虑才这么用的。是单纯了为了应用不同环境而区别命名还是说有内存使用方面的考虑?望高手指教
欢迎选择我的课程,让我们一起见证您的进步~~
Ref是CoreFoundation对象的命名规则。看到Ref结尾就知道这是一个CF对象了。
基本是就是Taoge回答的。CGContextRef这样的指针是C的指针,和Cocoa的对象指针有差别。最常见的就是现在大家都用ARC来管理内存,Cocoa对象被申请了就不需要程序员再去考虑怎么释放它,编译器会帮我们的忙。而你用了CGContextRef这样的指针,编译器不会帮你的忙,你需要自己决定何时用完,何时释放。
Cocoa本身也是要用这些底层技术的帮助才能写出来的,C语言万岁!Apple帮助Mac/iOS程序员,Apple万岁!
这个没有什么特殊的意义吧,不要纠结这些表达方式上面!
CG开头声明的变量采用C方式分配内存,会有一个相对应的CG开头的释放内存的方法,比Ui开头的方法更底层!
Ref是CoreFoundation对象的命名规则。看到Ref结尾就知道这是一个CF对象了。
基本是就是Taoge回答的。CGContextRef这样的指针是C的指针,和Cocoa的对象指针有差别。最常见的就是现在大家都用ARC来管理内存,Cocoa对象被申请了就不需要程序员再去考虑怎么释放它,编译器会帮我们的忙。而你用了CGContextRef这样的指针,编译器不会帮你的忙,你需要自己决定何时用完,何时释放。
Cocoa本身也是要用这些底层技术的帮助才能写出来的,C语言万岁!Apple帮助Mac/iOS程序员,Apple万岁!
这个没有什么特殊的意义吧,不要纠结这些表达方式上面!
CG开头声明的变量采用C方式分配内存,会有一个相对应的CG开头的释放内存的方法,比Ui开头的方法更底层!