У меня небольшие проблемы с утечками памяти в моем объективном коде c.Кто-нибудь может взглянуть и сообщить мне, что они думают?
NSStringArray.h
@interface NSStringArray : NSObject {
NSMutableArray *realArray;
}
@property (nonatomic, assign) NSMutableArray *realArray;
-(id)init;
-(void)dealloc;
@end
NSStringArray.m
#import "NSStringArray.h"
@implementation NSStringArray
@synthesize realArray;
-(id)init {
self = [super init];
if ( self != nil ) {
realArray = [[[NSMutableArray alloc] init] retain];
}
return self;
}
-(void)dealloc {
[realArray release];
realArray = nil;
[super dealloc];
}
Factory.m
+(NSStringArray *)getFields:(NSString *)line {
//Divides the lines into input fields using "," as the separator.
//Returns the separate fields from a given line. Strips out quotes & carriage returns.
line = [line stringByReplacingOccurrencesOfString:@"\"" withString:@""];
line = [line stringByReplacingOccurrencesOfString:@"\r" withString:@""];
NSStringArray *fields = [[NSStringArray alloc] init];
for (NSString *field in [line componentsSeparatedByString:@","]) {
[fields.realArray addObject:field];
[field release];
}
return [fields autorelease];
}
Инструмент Утечки говорит, что утечка происходит, когда поля выделены, и когда я добавляю строку поля в массив полей.
Кроме того, эта функция вызывается для каждой строки файла, который я анализирую.
Любые советы будут полезны.
Спасибо!