Ваш файл main.m должен иметь следующий вызов:
NSApplicationMain(argc, (const char **)argv);
NSApplicationMain()
отвечает за создание приложения, т. Е. Экземпляр NSApplication
, который, в свою очередь, отвечает за создание пулов автоматического выпуска:
Класс NSApplication устанавливает пулы автоматического выпуска (экземпляры класса NSAutoreleasePool) во время инициализации и внутри цикла событий, в частности, в рамках его инициализации(или sharedApplication) и методы запуска.
Это означает, что в общем случае вам не нужно беспокоиться о создании пулов с автоматическим выпуском, поскольку NSApplication
уже делает это как при инициализации, так и вцикл событий.Существуют ситуации, когда создание собственных пулов автоматического выпуска может быть необходимым / желательным, например, метод с циклом, который создает много автоматически выпущенных объектов.В этом случае хорошей идеей будет создание пула автоматического выпуска для каждой итерации цикла.