Я начал очищать свое приложение перед публикацией - с помощью анализатора утечек "Instruments".
Я обнаружил утечку, которую не могу устранить.Поэтому я построил простой проект для иллюстрации проблемы.Пожалуйста, смотрите код ниже.Я положил кнопку на вид, чтобы проверить огонь процедуры «тест».Он всегда генерирует утечку.
Сначала заголовок и код для объекта с именем "theObj"
#import <Foundation/Foundation.h>
@interface theObj : NSObject {
NSString * theWord;} @property (nonatomic, retain) NSString * theWord;
@end
#import "theObj.h"
@implementation theObj
@synthesize theWord;
-(id) initWithObjects: (NSString *) aWord;
{
if (self = [super init]){
self.theWord = aWord;
}
return self;
}
-(void) dealloc{
[theWord release];
[super dealloc];
}
@end
Теперь контроллер представления
#import <UIKit/UIKit.h>
#import "theObj.h"
@interface LeakAnObjectViewController : UIViewController {
NSMutableArray* arrObjects;
}
- (IBAction)test;
@end
#import "LeakAnObjectViewController.h"
@implementation LeakAnObjectViewController
- (IBAction)test {
if (arrObjects == nil)
arrObjects = [[NSMutableArray alloc] init];
NSString* aStr = @"first";
[arrObjects addObject:[[theObj alloc] initWithObjects:aStr]];
[arrObjects removeAllObjects];
}