内存管理与对象复制:原理、方法及应用
1. 自动释放示例
为了确保真正理解引用计数、保留和释放/自动释放对象的工作原理,我们来看一个程序示例。以下是定义了一个名为 Foo 的虚拟类的代码,该类有一个实例变量且仅继承了方法。
#import <Foundation/NSObject.h>
#import <Foundation/NSAutoreleasePool.h>
@interface Foo: NSObject
{
int x;
}
@end
@implementation Foo
@end
int main (int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
Foo *myFoo = [[Foo alloc] init];
NSLog (@"myFoo retain count = %x", [myFoo retainCount]);
[pool drain];
NSLog (@"after pool drain = %x", [myFoo retainCount]);
pool = [[NSAutoreleasePool alloc] init];
[myFoo autorelease];
NSLog (@"after autorelease = %x", [myFoo retainCount]);
[myFoo retain];
NSLog (@"after reta
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



