2012-06-27 2 views
0

Я использую ARC в моем коде, и я получаю ошибкуARC Autoreleased, без бассейна на месте

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

использовать это на линии, где она показывая warning

@autoreleasepool{ 
} 
+3

-1 просто потому, что вы не уточнили, что это делает. Учитывая тот факт, что ОП не является мастером на этом языке, всегда полезно привести некоторые факты или ссылки на код, который вы опубликовали. –

+0

В этом вопросе нечего было сказать, ответ я сказал простое высказывание, чтобы сохранить утверждение внутри этой строки. Если вы не понимаете, это не значит, что все не понимают. Ответ правильный, и он сам объяснял. Не пропустите руководство каждого. Сосредоточьтесь на своих ответах не на других, пока это не было ошибкой – Sumanth

+0

Спасибо, Сумант. Ваш ответ правильный. Спасибо за вашу помощь. – BigT

6

Вы используете @autoreleasepool конструкцию:

@autoreleasepool { 
    // main code here 
} 

Это создает NSAutoReleasePool с той же области, что и скобки, и она также может также используется в коде MRC. Он имеет преимущества очистки при возникновении исключений и может быть легко использован для безопасного переноса потоков.

Чтобы узнать больше, посетите эту статью на Transitioning to ARC Release Notes

0

Создание нового тестового приложения с ARC включена. Посмотрите на код в «main.m», чтобы узнать, что рекомендует Apple.

+0

Кажется, что немного отходов, учитывая, что два ответа показали, что это не так сложно. –

+1

Когда у кого-то есть способ, чтобы кто-то мог сам ответить на что-то, я бы указал на них в этом направлении, вместо того чтобы просто сбрасывать на них очевидную строку кода. Если это не соответствует философии кормления ложкой некоторых людей SO, жесткой. :-) –

+0

Дело в том, что это не помогает будущим посетителям. Полностью у Apple есть возможность изменить свои проекты шаблонов, чтобы сделать что-то другое, кроме создания пула автозапуска при запуске, и вы не можете полагаться на это, никогда не меняясь. –

Смежные вопросы