我在Objective-C中的内存管理有问题。假设我有一个方法分配一个对象并将该对象的引用存储为该类的成员。如果我第二次运行相同的函数,我需要在创建一个新对象来替换它之前释放这个第一个对象。假设函数的第一行是:如何释放在不同的AutoReleasePool中分配的对象?
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
这意味着将会有一个不同的自动发布池。分配对象的代码如下:
if (m_object != nil)
[m_object release];
m_object = [[MyClass alloc] init];
[m_object retain];
的问题是程序运行方法的最后一行时崩溃:
[pool release];
我在做什么错?我怎样才能解决这个问题 ?
问候
艾伦