先了解一下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];
正如这些代码示例所示,一旦被创建,类型转换对象可以被视为Cocoa或Core Foundation对象,而且,在每种环境中看起来都是“本地”的。
小结:解析Cocoa 中 Core Foundation 对象内存管理的内容介绍完了,希望本文对你有所帮助!