Пожалуйста, прочитайте Руководство по управлению памятью какао , управление памятью - это то, что вы должны прекрасно понимать. (И это не сложно.) Если вы объявляете переменную в методе, у вас нет указателя на нее в dealloc
, поэтому вы не можете освободить ее там - вы можете освободить ее только до выхода из области видимости. , Другой вопрос, стоит ли вообще его выпускать. Это зависит от того, является ли это переменная на основе стека, автоматически высвобождаемая или сохраняемая:
float foo[] = {1, 2, 3}; // stack-based, no releasing necessary
NSString *foo = [NSString stringWithFormat:…]; // autoreleased, you must not release it
NSString *foo = [[NSString alloc] initWith…]; // retained, you must release it