0
__NSAutoreleaseNoPool(): Object 0x4c70ec0 of class UISegmentedControl autoreleased with no pool in place - just leaking
__NSAutoreleaseNoPool(): Object 0x4c70ec0 of class UISegmentedControl autoreleased with no pool in place - just leaking
__NSAutoreleaseNoPool(): Object 0x4c70ec0 of class UISegmentedControl autoreleased with no pool in place - just leaking
__NSAutoreleaseNoPool(): Object 0x4c70ec0 of class UISegmentedControl autoreleased with no pool in place - just leaking
__NSAutoreleaseNoPool(): Object 0x4c70ec0 of class UISegmentedControl autoreleased with no pool in place - just leaking

这就是我在控制台中得到的警告。虽然它不会造成崩溃,但似乎是一些内存管理问题。

有什么问题?

我没有自动释放我的分段控制。

4

2 回答 2

7

当您使用多线程时,通常会出现此问题。如果您使用线程,应该为该线程创建自动释放池

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

//代码....

[池释放];
于 2011-02-28T07:32:35.333 回答
0

如果您在@Martin 所说的不是主线程的线程中使用 UISegmentedControl ,那么它是不安全的。

UIKit 框架参考 - 简介

注意:在大多数情况下,UIKit 类只能在应用程序的主线程中使用。对于从 UIResponder 派生的类或涉及以任何方式操作应用程序的用户界面的类尤其如此。

于 2011-02-28T08:26:33.393 回答