0

我在我的代码中使用 ARC,我收到了错误

Object 0x781b8e0 of class __NSCFString autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug

它打破的线是

  return UIApplicationMain(argc, argv, nil, NSStringFromClass([HomePageAppDelegate class]));

因为我使用的是 ARC,所以我不能NSAutoReleasePool像往常一样使用它。我可以使用什么来修复此错误?

4

3 回答 3

6

您使用以下@autoreleasepool构造:

@autoreleasepool {
    // main code here
}

这将创建一个NSAutoReleasePool与括号相同的范围,它也可以在 MRC 代码中使用。它的优点是在发生异常时被清理,并且可以很容易地用于安全地调度线程。

要了解更多信息,请访问这篇关于过渡到 ARC 发行说明的文章

于 2012-06-27T13:24:41.337 回答
0

在它显示的行上使用它warning

@autoreleasepool{
}
于 2012-06-27T13:24:27.833 回答
0

创建一个启用 ARC 的新测试应用程序。查看“main.m”中的代码以了解 Apple 的建议。

于 2012-06-27T13:24:48.233 回答