NSRunLoop和NSAutoreleasePool,他们如何互动?

时间:2011-12-28 06:33:29

标签: iphone ios memory-management nsautoreleasepool nsrunloop

  

自动释放池将在运行循环结束时释放。

这是否意味着循环迭代的结束? 这是什么时候发生的?

  

每次触摸,动作或遥控事件处理后,   游泳池将耗尽。

如果我们的申请没有提供任何接触怎么办?

如果我们使用这样的代码,我们怎样才能确保对象之间没有被释放 [self someObject]中的retainsomeMethod

- (id) someObject
{
    return [[[SomeClass alloc] init] autorelease];
}

- (void) someMethod
{
    SomeClass * object = [[self someObject] retain];
} 

1 个答案:

答案 0 :(得分:1)

根据调用堆栈来考虑它。

在上面给出的示例中,-someMethod在从[{1}}返回的值保留并分配给someObject之前不会退出。