ARC не работает в iOS 4.3 - PullRequest
       5

ARC не работает в iOS 4.3

1 голос
/ 16 октября 2011

Я перевел свой проект на использование ARC, и я отлично работаю в iOS 5. Но при работе на симуляторе 4.3 я получаю много таких сообщений:

2011-10-16 12:23: 29.915 iRoster [1604: 1300b] * __NSAutoreleaseNoPool (): объект 0x5176e60 класса EKCalendar автоматически освобожден без пула - просто утечка

Я думаю, я мог бы поставить много@autoreleasepool вокруг, но у меня сложилось впечатление, что это необязательно.И странно то, что он появляется только при работе на 4.3

Что мне делать?

РЕДАКТИРОВАТЬ: я теперь поместил некоторые @autoreleasepool вокруг, и это сильно уменьшило сообщения, так чтопохоже, дело в этом.

1 Ответ

1 голос
/ 16 октября 2011

Если у вас есть собственные пулы автоматического выпуска в логике приложения, которыми вы сами управляете до ARC, вам необходимо заменить их конструкциями @autoreleasepool, и компилятор будет обрабатывать их соответствующим образом.

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

...