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通常のようにARCを配置することはできません。このエラーを修正するには何を使用できますか?

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 に答える