Этот небольшой кусочек кода остается на кнопке плюса три раза.Один раз при создании кнопки, один раз в явном виде и один раз в addSubView :.
Этот код также автоматически выпускает кнопку «плюс» один раз и отпускает ее один раз.(Как упоминалось в других ответах, явные вызовы сохранения / выпуска не нужны, но сбалансированы, поэтому не вызывают утечку.) Либо вы не уравновешиваете сохранение в addSubView:
с выпуском, либо пул авто-выпуска не очищается.Возможное решение - отправить сообщение release
(или, возможно, removeFromSuperview
) объекту плюса перед освобождением содержащего представления.Другое возможное решение - убедиться, что пул авто-релиза активен во время выполнения этого кода.Просто чтобы проверить, вы можете добавить NSAutoreleasePool
перед вашим кодом, а затем слить пул примерно так:
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// your code
[pool release];
Если это исправит это, проверьте структуру вашего кода, чтобы выяснить, почему ваш пул автоматического выпускане истощает.