ARC自动释放与地方没有游泳池(ARC Autoreleased with no pool in p

2019-09-18 15:21发布

我在我的代码中使用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周围像我通常会。 我可以为了解决这个错误有什么用?

Answer 1:

上线使用这个地方显示的warning

@autoreleasepool{
}


Answer 2:

您可以使用@autoreleasepool结构:

@autoreleasepool {
    // main code here
}

这就产生了一个NSAutoReleasePool具有相同的范围作为支架,并且它也可以在MRC代码使用。 它的发生异常时,被清理的优点,并可以很容易地用于安全地调度线程。

要了解更多信息,请访问本文就过渡到ARC发布说明



Answer 3:

创建一个新的测试应用程序启用ARC。 看看“main.m文件”的代码,看看苹果的建议是什么。



文章来源: ARC Autoreleased with no pool in place