【发布时间】:2011-02-18 06:44:38
【问题描述】:
我正在尝试测试我的 iphone 中的内存泄漏,但我没有太多运气摆脱这个问题。这是泄漏的代码。
- (id)initWithManagedObjectContext:(NSManagedObjectContext *)aMoc delegate:(id)aDelegate runSync:(BOOL)aRunSync {
if (self = [super init]) {
self.moc = aMoc;
self.settingsManager = [[VacaCalcSettingsManager alloc] initWithManagedObjectContext:self.moc];
self.delegate = aDelegate;
calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
self.runSync = aRunSync;
}
return self;
}
它在self.settingsManager = [[VacaCalcSettingsManager alloc] initWithManagedObjectContext:self.moc]; 行上泄漏。
self.settingManager实例变量在类的dealloc方法中释放。
我不确定还有哪些相关信息。请告诉我,我可以提供。
感谢您的帮助。
-马克
这是头文件。
@interface VacaCalcCalculation : NSObject {
NSManagedObjectContext *moc;
VacaCalcSettingsManager *settingsManager;
id delegate;
NSCalendar *calendar;
NSDate *nextBankLimitDate;
BOOL runSync;
}
@property (nonatomic, retain) NSManagedObjectContext *moc;
@property (nonatomic, retain) VacaCalcSettingsManager *settingsManager;
@property (nonatomic, retain) id delegate;
@property (nonatomic, retain) NSCalendar *calendar;
@property (nonatomic, retain) NSDate *nextBankLimitDate;
@property (nonatomic) BOOL runSync;
- (id)initWithManagedObjectContext:(NSManagedObjectContext *)aMoc delegate:(id)aDelegate;
【问题讨论】:
-
不是 iPhone 开发人员,所以这可能是我对系统如何工作的知识缺乏了解,但看起来日历只是设置了一个新值,并且什么也没做。也许那里发生了什么事?
-
显示实例变量的头文件声明。
标签: iphone objective-c memory-leaks instruments