泄漏告诉我,下面是内存泄漏,但我不知道为什么。iOS的内存管理
TitledArray.h
@interface TitledArray : NSObject {
NSMutableArray *realArray;
BOOL uniqueTitles;
BOOL uniqueIDs;
}
@property (nonatomic) BOOL uniqueTitles;
@property (nonatomic) BOOL uniqueIDs;
@property (nonatomic, retain) NSMutableArray *realArray;
TitledArray.m
-(id)init {
return [self initWithUniqueTitles:FALSE uniqueIDs:FALSE];
}
-(id)initWithUniqueTitles:(BOOL)titles uniqueIDs:(BOOL)IDs {
if (self = [super init]) {
//self.realArray = [[NSMutableArray alloc] init];
self.realArray = [NSMutableArray array];
self.uniqueTitles = titles;
self.uniqueIDs = IDs;
}
return self;
}
MissionLoading.h
@interface MissionLoading : TitledObject {
TitledArray *storageWeights;
TitledArray *passengerWeights;
}
@property (nonatomic, retain) FloatArray *storageWeights;
@property (nonatomic, retain) FloatArray *passengerWeights;
MissionLoading.m
@synthesize storageWeights;
@synthesize passengerWeights;
-(id)init {
if (self = [super init]) {
self.storageWeights = [[TitledArray alloc] initWithUniqueTitles:FALSE uniqueIDs:TRUE];
self.passengerWeights = [[TitledArray alloc] initWithUniqueTitles:FALSE uniqueIDs:TRUE];
}
return self;
}
-(void)dealloc{
[storageWeights release];
[passengerWeights release];
[super dealloc];
}
代码:
for (int i = 0; i < recordCount; i++)
{
loading = [[MissionLoading alloc] init];
// add to array
[loading release];
}
根泄漏与self.realArray = [NSMutableArray的数组]的TitledArray对象;
我还是很新的iOS开发,但是这对我来说很好。任何想法都会有帮助。如果需要,我可以提供更多信息。
谢谢!
这就是问题所在,我可能从未想过这件事!谢谢你的帮助。 –