7得票2回答
自动释放对象两次

NSString *str = [[[[NSString alloc]init]autorelease]autorelease]; str = @"hii"; NSLog(@"%@",str); 有人能帮我解释这段代码吗?如果一个对象被自动释放两次会发生什么?当我运行这段代码时...

7得票2回答
Objective-C中的自动释放池 - 是否需要释放主自动释放池?

据我理解,当对象收到一个autorelease消息时,如果除了在main.m中的那个池之外没有其他自动释放池,该对象就会被放置在main.m中。假设这是正确的,我有几个问题: 1)所有自动释放的对象是否都保留在该池中直到应用程序终止? 2)如果问题1成立,那么创建一个没有本地自动释放池(因...

7得票1回答
自动引用计数(ARC)中的NSThreads

我正在尝试在4.3.5中使用NSThreads和ARC。在iOS 5上一切运行良好,但如果我尝试在旧版本的iOS(如4.3)上运行,则会出现泄漏。通常情况下,我会为NSThreads使用Autoreleasepool,但由于ARC中没有手动Autoreleasepool,我不知道该如何解决。 ...

7得票3回答
运行循环结束 -- 自动释放池恢复

据我了解,自动释放对象会在自动释放池释放时被清除。现在,自动释放池将在运行循环结束时释放。 我的问题是,如果在我的类中我没有创建自定义的自动释放池,并在该类中对一些对象调用了autorelease方法,那么这些对象何时会被回收?“运行循环结束”是否意味着“应用程序结束”?