解析Cocoa 中 Core Foundation 对象内存管理
先了解一下Cocoa的基础知识是必要的,然后就是学一下iphone开发最主要的编程语言Objective─c,这对新手后面iphone开发的学习很有帮助,上来就拿本书看iphone开发的容易晕。
许多Core Foundation对象和Cocoa实例可以简单地相互进行类型转换,比如CFString和NSString对象。本文介绍如何管理Cocoa中的Core Foundation对象。有关对象所有权的一般信息请参考“对象的所有权和销毁”。
Core Foundation对象的内存分配策略是,您需要释放那些由名字中包含“Copy”或“Create”的函数返回的值;您不应该释放那些由名字中不包含“Copy”或“Create”的函数返回的值。
Core Foundation对象和Cocoa使用的公约非常相似,而且由于分配(allocation)/保留(retain)/释放(release)的实现是兼容的—每种环境中等价的函数和方法可以混合使用。因此,
NSString *str = [[NSString alloc] initWithCharacters: ...]; ... [str release];
等同于
CFStringRef str = CFStringCreateWithCharacters(...); ... CFRelease(str);
和
NSString *str = (NSString *)CFStringCreateWithCharacters(...); ... [str release];
和
NSString *str = (NSString *)CFStringCreateWithCharacters(...); ... [str autorelease];
相关推荐
xingweiyong 2016-03-09
WorldofiOs 2016-01-15
Swen 2011-08-01
bxqybxqy 2012-11-26
shipinsky 2019-07-01
唯美st丶 2016-05-05
JINLINHUOFENG 2014-01-04
madaxin 2016-01-15
81751493 2015-11-24
vicunana 2014-07-30
81570790 2012-02-27
88497010 2012-01-17
89283517 2012-01-17
87214552 2012-01-14
81731290 2011-10-24
CaiKanXP 2017-08-12
oraulvo 2019-05-05
hyunbar 2016-07-24
cardinal 2016-07-23