我在代码中使用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
。我可以使用什么来修复此错误?
答案 0 :(得分:6)
您使用@autoreleasepool
构造:
@autoreleasepool {
// main code here
}
这会创建一个NSAutoReleasePool
,其范围与括号相同,也可以在MRC代码中使用。它具有在发生异常时进行清理的优点,并且可以很容易地用于安全地分派线程。
要了解详情,请访问Transitioning to ARC Release Notes
上的这篇文章答案 1 :(得分:0)
在显示warning
@autoreleasepool{
}
答案 2 :(得分:0)
创建一个启用了ARC的新测试应用。查看“main.m”中的代码,了解Apple推荐的内容。