我有一個視圖控制器,離開堆棧後,泄漏儀器顯示內存泄漏。在閱讀了大量有關the NSDateFormatter bug的帖子,並執行了setDateFormat 'Z' workaround之後,我仍然在泄漏內存(根據Instruments)。iOS:NSDateFormatter內存泄漏/ viewDidUnload
在我的頭:
NSDateFormatter *dfm;
...
@property (nonatomic, retain) NSDateFormatter *dfm;
我在執行:
@synthesize dfm;
...
- (void) viewDidLoad {
[super viewDidLoad];
dfm = [[NSDateFormatter alloc] init];
[self.dfm setDateFormat:@"h:mma Z"]; // leaks with & without this line
}
...
- (void)viewDidUnload {
//SOLUTION: This method was never being called. Needed to use dealloc, per the answer below.
[dfm release];
self.dfm = nil;
[super viewDidUnload];
}
任何立場不正確的?我在這個類中唯一使用dfm的地方是在幾個地方調用stringFromDate
來返回使用UILabels的自釋放字符串。
在此先感謝。
確實 - 所以我學到了=)。我已經添加了'viewDidUnload'問題標題,以便人們在遇到此問題時可能會發現此帖。 – Chazbot 2011-04-10 16:42:49